Nehmen wir an, dass jede der Zeilen in Ihrer Datenbank so aussieht...
[product_id][product_name][product_description][product_price]
Wenn Sie Ihre Abfragerückgabe einer Variablen zuweisen, die durch mysql_fetch_assoc()
geleitet wird Bei Verwendung einer While-Schleife isoliert jeder Durchgang eine ganze Zeile. Davon können Sie manuell per Array-Key-Referenz ($array['product_id']
) zerlegen ) oder mithilfe einer foreach-Schleife. Ich denke, das Problem, das Sie haben, ist, dass Sie das verwechseln. Unter Berücksichtigung des obigen Beispiel-Tabellenlayouts könnten Sie etwa so vorgehen:
while ($tableRow = mysql_fetch_assoc($query)) { // Loops 3 times if there are 3 returned rows... etc
foreach ($tableRow as $key => $value) { // Loops 4 times because there are 4 columns
echo $value;
echo $tableRow[$key]; // Same output as previous line
}
echo $tableRow['product_id']; // Echos 3 times each row's product_id value
}
Sehen Sie sich diese Zeile in Ihrem Code an:if ($product['id'] == $id) { }
Ich denke, Sie meinen wahrscheinlich if ($row['id'] == $id) { }
stattdessen.