Giả sử rằng mỗi hàng trong cơ sở dữ liệu của bạn trông như thế này ...
[product_id][product_name][product_description][product_price]
Khi bạn chỉ định truy vấn của mình, trả về cho một biến được chuyển qua mysql_fetch_assoc()
sử dụng vòng lặp while, mỗi lần vượt qua sẽ cách ly toàn bộ một hàng. Trong số đó, bạn có thể chia nhỏ theo cách thủ công bằng tham chiếu khóa mảng ($array['product_id']
) hoặc bằng cách sử dụng một vòng lặp foreach. Tôi nghĩ vấn đề bạn đang gặp phải là bạn đang trộn lẫn điều này. Lưu ý đến bố cục bảng mẫu ở trên, bạn có thể làm như sau:
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
}
Nhìn vào dòng này trong mã của bạn:if ($product['id'] == $id) { }
Tôi nghĩ có lẽ ý bạn là if ($row['id'] == $id) { }
thay vào đó.