Hallo Leute,
ich hab mal paar fragen zu mysql query's. Bin gelernter Mediengestalter aber muss mich nun bissel durch sql und php "kämpfen".
Folgende ausgangssituation: Es gibt (noch) 2 tabellen.
Tabelle 1 (artikel):
[table="width: 500, class: grid"]
[tr]
[td]id[/td]
[td]titel[/td]
[td]bild[/td]
[td]status[/td]
[/tr]
[tr]
[td]944[/td]
[td]lenkrad[/td]
[td]lenrakd.jpg[/td]
[td]1[/td]
[/tr]
[/table]
Tabelle 2 (attribute):
[table="width: 500, class: grid"]
[tr]
[td]id[/td]
[td]artikel-id[/td]
[td]attribut[/td]
[td]wert[/td]
[/tr]
[tr]
[td]944-durchmesser[/td]
[td]944[/td]
[td]durchmesser[/td]
[td]30 cm[/td]
[/tr]
[tr]
[td]944-farbe[/td]
[td]944[/td]
[td]farbe[/td]
[td]schwarz[/td]
[/tr]
[/table]
Ich möchte jetzt für den beispielartikel gerne den titel, bild, status und beide attribute abfragen.
Das mache ich wie folgt:
$result = mysql_query("SELECT artikel.titel, artikel.bild, attribute.wert FROM artikel INNER JOIN attribute ON artikel.id = attribute.artikel-id WHERE artikel.id like '$term'")
or die(mysql_error());
Das klappt auch soweit ganz gut und ich lasse mich die abgefragten daten wie folgt ausgeben:
$row = mysql_fetch_array( $result );
echo '<br>' . "Name: ".$row['titel'];
echo '<br>' . "Bild: ".$row['bild'];
echo '<br>' . "Durchmesser: ".$row['attribut'];
echo '<br>' . "Farbe: ".$row['attribut'];
Das PROBLEM ist das die 2 attribute die zu dem lenkrad gehören, nicht korrekt ausgegeben werden bzw. es wird immer nur das erste attribut ausgegeben. Sieht dann wie folgt aus:
Name: lenkrad
Bild: lenkrad.jpg
Durchmesser: 30 cm
Farbe: 30cm
Ich suche jetzt eine möglichkeit beide attribute abzurufen bzw. auszugeben wo und wann ich lust habe, wie mit dem namen und bild. Diese kann ich ja nach lust und laune per .$row['titel']; oder .$row['bild']; ausgeben lassen.
Hab mich mal bissel durch google gewühlt und bin da auf while und arrays gestossen aber so richtig habe ich es trotzdem nicht hinbekommen
Grüße und besten dank im voraus.
ich hab mal paar fragen zu mysql query's. Bin gelernter Mediengestalter aber muss mich nun bissel durch sql und php "kämpfen".
Folgende ausgangssituation: Es gibt (noch) 2 tabellen.
Tabelle 1 (artikel):
[table="width: 500, class: grid"]
[tr]
[td]id[/td]
[td]titel[/td]
[td]bild[/td]
[td]status[/td]
[/tr]
[tr]
[td]944[/td]
[td]lenkrad[/td]
[td]lenrakd.jpg[/td]
[td]1[/td]
[/tr]
[/table]
Tabelle 2 (attribute):
[table="width: 500, class: grid"]
[tr]
[td]id[/td]
[td]artikel-id[/td]
[td]attribut[/td]
[td]wert[/td]
[/tr]
[tr]
[td]944-durchmesser[/td]
[td]944[/td]
[td]durchmesser[/td]
[td]30 cm[/td]
[/tr]
[tr]
[td]944-farbe[/td]
[td]944[/td]
[td]farbe[/td]
[td]schwarz[/td]
[/tr]
[/table]
Ich möchte jetzt für den beispielartikel gerne den titel, bild, status und beide attribute abfragen.
Das mache ich wie folgt:
$result = mysql_query("SELECT artikel.titel, artikel.bild, attribute.wert FROM artikel INNER JOIN attribute ON artikel.id = attribute.artikel-id WHERE artikel.id like '$term'")
or die(mysql_error());
Das klappt auch soweit ganz gut und ich lasse mich die abgefragten daten wie folgt ausgeben:
$row = mysql_fetch_array( $result );
echo '<br>' . "Name: ".$row['titel'];
echo '<br>' . "Bild: ".$row['bild'];
echo '<br>' . "Durchmesser: ".$row['attribut'];
echo '<br>' . "Farbe: ".$row['attribut'];
Das PROBLEM ist das die 2 attribute die zu dem lenkrad gehören, nicht korrekt ausgegeben werden bzw. es wird immer nur das erste attribut ausgegeben. Sieht dann wie folgt aus:
Name: lenkrad
Bild: lenkrad.jpg
Durchmesser: 30 cm
Farbe: 30cm
Ich suche jetzt eine möglichkeit beide attribute abzurufen bzw. auszugeben wo und wann ich lust habe, wie mit dem namen und bild. Diese kann ich ja nach lust und laune per .$row['titel']; oder .$row['bild']; ausgeben lassen.
Hab mich mal bissel durch google gewühlt und bin da auf while und arrays gestossen aber so richtig habe ich es trotzdem nicht hinbekommen
Grüße und besten dank im voraus.
Zuletzt bearbeitet: