Laten we zeggen dat elk van de rijen in uw database er als volgt uitziet...
[product_id][product_name][product_description][product_price]
Wanneer u uw query retourneert aan een variabele die is doorgegeven via mysql_fetch_assoc()
met behulp van een while-lus zal elke pas een hele rij isoleren. Waarvan u handmatig uit elkaar kunt halen door middel van een array-sleutelverwijzing ($array['product_id']
) of door een foreach-lus te gebruiken. Ik denk dat het probleem dat je hebt is dat je dit door elkaar haalt. Als u de bovenstaande voorbeeldtabelindeling in gedachten houdt, kunt u zoiets als het volgende doen:
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
}
Kijk naar deze regel in je code:if ($product['id'] == $id) { }
Ik denk dat je waarschijnlijk if ($row['id'] == $id) { }
. bedoelt in plaats daarvan.