データベースの各行が次のようになっているとしましょう...
[product_id][product_name][product_description][product_price]
クエリリターンをmysql_fetch_assoc()
を介して渡された変数に割り当てる場合 whileループを使用すると、各パスで行全体が分離されます。そのうち、配列キー参照($array['product_id']
)によって手動で分解できます。 )またはforeachループを使用します。あなたが抱えている問題は、これを混同していることだと思います。上記のテーブルレイアウトの例を念頭に置いて、次のようなことを行うことができます。
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
}
コードの次の行を見てください:if ($product['id'] == $id) { }
おそらくif ($row['id'] == $id) { }
を意味していると思います 代わりに。