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

PHP MySQLは、共通フィールドでグループ化された複数の行を表示します

    <?php
    $result = mysql_query("
      SELECT
        *
      FROM
        some_table
      ORDER BY
        company,
        category,
        brand
    ") 
    or trigger_error('Query failed in '. __FILE__ .
       ' on line '. __LINE__ .'. '. mysql_error(), E_USER_ERROR);
    if (mysql_num_rows($result)) {
      $companies = array();
      while ($row = mysql_fetch_assoc($result)) {
        $companies[$row['company']][$row['category']][] = $row['brand'];
      }
    
      foreach ($companies AS $company => $categories) {
        echo '<h2>'. htmlentities($company, ENT_COMPAT, 'UTF-8') .'</h2>';
        echo '<ul>';
        foreach ($categories AS $category => $brands) {
          echo '<li>'. htmlentities($category, ENT_COMPAT, 'UTF-8');
          foreach ($brands AS $brand) {
            echo '<br><em>'. htmlentities($brand, ENT_COMPAT, 'UTF-8') .'</em>';
          }
          echo '<br>&nbsp;</li>';
        }
        echo '</ul>';
      }
    }
    

    jsbin



    1. PHPを使用してデータベースに複数のチェックボックス選択を追加する方法

    2. MySQLデータベースに英語以外のテキストを挿入する際のJSPエンコーディング

    3. PDOとセッションを使用してログインフォームを作成する

    4. ストアドプロシージャでSETXACT_ABORTONを使用する利点は何ですか?