• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bilder bei bestimmten werten aus der DB

Status
Für weitere Antworten geschlossen.

Odo

Neues Mitglied
Hallo :)

ich bin auf der Suche nach folgender Funktion:

In der DB sind in einer Spalte 6 verschiendene Zahlen abgespeichert

wenn Wert "1" in dem Feld der DB steht, erscheint nur:
<img src="/ordner1/bild1.png" border="0">


wenn Wert "2" in dem Feld der DB steht, erscheint nur:
<img src="/ordner1/bild2.png" border="0">


wenn Wert "3" in dem Feld der DB steht, erscheint:
<img src="/ordner1/bild1.png" border="0">
und
<img src="/ordner1/bild1.png" border="0">


wenn Wert "4" in dem Feld der DB steht, erscheint:
<img src="/ordner1/bild1.png" border="0">
und
<img src="/ordner1/bild2.png" border="0">


wenn Wert "5" in dem Feld der DB steht, erscheint:
<img src="/ordner1/bild2.png" border="0">
und
<img src="/ordner1/bild2.png" border="0">


und im letzten fall wenn Wert "6" in dem Feld der DB steht, erscheint kein bild.



Hat jemand einen Tipp für mich?


Gruß
 
Zuletzt bearbeitet:
Werbung:
Danke für deine antwort. Würde eine Abfrage dann so aussehen ?

PHP:
 <?php

    $my_host = "x";
  $my_dbname = "x";
  $my_user = "x";
  $my_pass = "x";
  $my_tablename = "x";


$link = mysql_connect($my_host, $my_user, $my_pass);
  if (!$link)
    die("Kann den Server nicht erreichen.");
  if (!mysql_select_db($my_dbname, $link))
    die("Kann die Datenbank nicht anwählen.");

$result = mysql_query("SELECT * FROM `{$my_tablename}`")
        or die(mysql_error());
$i = array();
while ($row = mysql_fetch_assoc($result))
{
  $i[] = $row["neutrum"];


    switch ($i) {
case 3:
    echo "i ist gleich 0";
    break;
case 1:
    echo "i ist gleich 1";
    break;
case 2:
    echo "i ist gleich 2";
    break;
}
?>


Denn leider funktioniert es leider nicht :( es kommt zwar keine fehlermeldung, allerdings wird nichts angezeigt und die komplette seite wird verschoben.
 
Werbung:
Warum so kompliziert ?

PHP:
$id = 3; // Wert aus der Datenbank
echo "<img src='bild".$id.".png' border='0'>";
 
Warum so kompliziert ?

PHP:
$id = 3; // Wert aus der Datenbank
echo "<img src='bild".$id.".png' border='0'>";


Hallo da_loki :)

ich kann deinen ansatz nicht ganz nachvollziehen. Ich habe in spalte 'neutrum' einen wert stehen, den ich ersteinmal auslesen muss, oder ?
und dann ist es ja so, dass ich in teilweise 2 bilder anzeigen lassen möchte bzw in einem fall auch gar keins. ist da eine 'case'-lösung nicht besser? und wie gesagt leider funktioniert diese ja leider nicht :(
 
Werbung:
-.- da war mein Posting mal wieder schneller ...

Das stimmt, in dem Fall wäre eine Switch besser :)

Bei dir fehlt die schliessende Klammer der Switch ;)
 
dann lern' erstmal die grundlagen:

--> #php/QuakeNet Tutorial - Einführung

Nils aka XraYSoLo


Das versuche ich doch!



-.- da war mein Posting mal wieder schneller ...

Das stimmt, in dem Fall wäre eine Switch besser :)

Bei dir fehlt die schliessende Klammer der Switch ;)

Ich habe jetzt noch eine schließende klammer eingefügt, doch leider funzt es immer noch nicht und ich habe keine idee woran es liegt.

PHP:
       <?php

$my_host = "x";
  $my_dbname = "x";
  $my_user = "x";
  $my_pass = "x";
  $my_tablename = "x";


$link = mysql_connect($my_host, $my_user, $my_pass);
  if (!$link)
    die("Kann den Server nicht erreichen.");
  if (!mysql_select_db($my_dbname, $link))
    die("Kann die Datenbank nicht anwählen.");

$result = mysql_query("SELECT * FROM `{$my_tablename}`")
        or die(mysql_error());
$i = array();
while ($row = mysql_fetch_assoc($result))
{
  $i[] = $row["neutrum"];


    switch ($i) {
case 3:
    echo "i ist gleich 0";
    break;
case 1:
    echo "i ist gleich 1";
    break;
case 2:
    echo "i ist gleich 2";
    break;
}
}
?>

Gruß
 
Wenn eine einfache Zahl in deiner Zeile steht, sollte stu $id nicht als Array deklarieren -.-
 
Werbung:
Versuch es mal so

PHP:
while ($row = mysql_fetch_assoc($result))
{
  $id = $row["neutrum"];
  echo "<img src='bild".$id.".png' border='0'>";  
}


 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben