sql >> データベース >  >> RDS >> Mysql

while($ row =mysql_fetch_assoc($ result))-$ rowをforeachする方法は?

    データベースの各行が次のようになっているとしましょう...

    [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) { }を意味していると思います 代わりに。



    1. MySQLの番号順、空の文字列(または0)最後

    2. クリックリスナーを使用してSQLiteデータベースのリストビューデータを更新および削除するにはどうすればよいですか?

    3. エラーコード:データ型が一致する場合の1822、複合キー

    4. GROUP BYを使用すると、MYSQLに誤った行が表示される