Załóżmy, że każdy wiersz w Twojej bazie danych wygląda tak...
[product_id][product_name][product_description][product_price]
Po przypisaniu zapytania powróć do zmiennej przekazanej przez mysql_fetch_assoc()
za pomocą pętli while każde przejście spowoduje wyizolowanie całego wiersza. Z czego możesz rozdzielić ręcznie przez odwołanie do klucza tablicy ($array['product_id']
) lub za pomocą pętli foreach. Myślę, że problem, który masz, polega na tym, że mieszasz to. Mając na uwadze powyższy przykładowy układ tabeli, możesz zrobić coś takiego:
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
}
Spójrz na ten wiersz w swoim kodzie:if ($product['id'] == $id) { }
Myślę, że prawdopodobnie masz na myśli if ($row['id'] == $id) { }
zamiast tego.