foreach()

Arndtinho

Erfahrenes Mitglied
Hallo,

ich mache eine DB-Abfrage und lasse mir das Ergebnis in einem Array ausgeben. Einen bestimmten Wert des Arrays brauche ich um eine weitere Abfrage zu machen. Das ganze sieht so aus:

PHP:
$sql = "SELECT kdnr, anz FROM ... ";
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res, MYSQL_NUM)) 
{
    $kdnr = $row[0];
    $anz = $row[1];
    if ($kdnr != "") 
    {
        foreach($kdnr as $kdn) 
        {
             $sql_kd = "SELECT name FROM kd WHERE (kdnr='".$kdn."')";
             $res = mysql_query($sql_kd);
             while ($row = mysql_fetch_row($res)) {
                 $kd = $row[0];
             }
        }
    }
    echo $kd." - ".$anz;
}

Aber das funktioniert nicht. Ich bekomme folgenden Fehler gemeldet:

"Warning: Invalid argument supplied for foreach()" und daraus folgend:
"Undefined variable: kd"

Wieso das?

Gruß,
Arndtinho
 
Du willst ja auch von einer normalen Variable ein foreach() machen?! Dies Variable $kdnr hat ja immer nur einen Wert...Die Bedingung der Schlaufe ist so falsch...Und den zweiten Fehler gibt es warscheinlich beim ausgeben von $kd (weil es die Variable nicht gibt).

Was willst du denn genau machen?
 
Mit der ersten Abfrage

PHP:
$sql = "SELECT kdnr, anz FROM ... ";

ermittle ich welche Kunden wieviel Stück eines bestimmten Artikels bestellt hat.
Da der Kunde in diesem Fall nur als Kundennummer vorhanden ist, möchte ich mit der forech-Sache die Namen zu den entsprechenden Kundennummern ermitteln (andere Tabelle der DB) und dann die Namen mit der jeweilig bestellten Anzahl ausgeben.

Gruß,
Arndtinho
 
SELECT kunde.kdnr, kunde.anz, kd.name WHERE kunde.kdnr = kd.kdnr

würde sich doch besser treffen? Dann hast du alles in der Abfrage?
 
Zurück