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

PHP/MySQLグループの結果を列別に

    mluebkeのように コメント、GROUPを使用すると、1つしか取得できません 各カテゴリの結果。あなたが例として挙げたリストに基づいて、私はあなたがこのようなものが欲しいと思います:

    $sql = "SELECT * FROM products WHERE category IN (10,120,150,500) GROUP BY category ORDER BY category, id";
    $res = mysql_query($sql);
    
    $list = array();
    while ($r = mysql_fetch_object($res)) {
      $list[$r->category][$r->id]['name'] = $r->name;
      $list[$r->category][$r->id]['whatever'] = $r->whatever;
      // etc
    }

    次に、アレイをループします。例:

    foreach ($list as $category => $products) {
      echo '<h1>' . $category . '</h1>';
    
      foreach ($products as $productId => $productInfo) {
        echo 'Product ' . $productId . ': ' . $productInfo['name'];
        // etc
      }
    
    }


    1. mysqlテーブルから最新の日付レコードのセットを選択する方法

    2. SQLで時間間の平均時間を取得する

    3. FCM(Firebase Cloud Messaging)トークンは1つのデバイス用ですか、それとも1つのアカウント用ですか?

    4. Markdown(strip_tagsを使用)はXSS攻撃を阻止するのに十分ですか?