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

ouptutのmysqlデータをテーブルにフォーマットする

    私はあなたの質問に少し混乱していますが、SQLステートメントのSELECT *は、データベースのすべての列が$row配列のkey=>valueペアとして存在する必要があることを意味します。したがって、別の「列」が必要な場合は、ここでHTMLリスト要素<li>に出力します。 、その列名を配列キーとしてエコーするだけです(注:「印刷」ではありません)。したがって、「model」という名前の列にある車の列のタイプが必要な場合は、次のようにします。

    <?php
    $sql = "SELECT * FROM apparatus ORDER BY vehicleType";
    $getSQL = mysql_query($sql);
    // transform the result set:
    $data = array();
    while ($row = mysql_fetch_assoc($getSQL)) {
    $data[$row['vehicleType']][] = $row;    
    }
    ?>
    <?php foreach ($data as $type => $rows): ?>
    <h2><?php echo $type?></h2>
    <ul>
      <?php foreach ($rows as $vehicleData):?>
        <li><?php echo $vehicleData['name'];?></li>
        <li><?php echo $vehicleData['model'];?></li>
      <?php endforeach ?>
      </ul>
    <?php endforeach ?>
    

    編集 :あなたの質問はまだわかりませんが、すべての車が同じVehicleTypeを持っていて、すべての結果をループする前に一度それを取得しようとしている場合は、これでうまくいくと思います:

    <?php
    // Set up a SQL query to grab one row
    $query_to_grab_only_vehicle_type = "SELECT vehicleType FROM apparatus WHERE 1 LIMIT 0,1";
    // Fetch that row and turn it into an array
    $vehicle_type_array = mysql_fetch_array(mysql_query($query_to_grab_only_vehicle_type));
    // Initialize a variable with the array value that came from the vehicleType column
    $vehicle_type = $vehicle_type_array['vehicleType'];
    // You could uncomment and use the following to echo out the variable
    // echo "Vehicle type: $vehicle_type";
    
    $sql = "SELECT * FROM apparatus ORDER BY vehicleType";
    $getSQL = mysql_query($sql);
    // transform the result set:
    $data = array();
    while ($row = mysql_fetch_assoc($getSQL)) {
    $data[$row['vehicleType']][] = $row;    
    }
    ?>
    <?php foreach ($data as $type => $rows): ?>
    <h2><?php echo $type?></h2>
    <ul>
      <?php foreach ($rows as $vehicleData):?>
        <li><?php echo $vehicleData['name'];?></li>
        <li><?php echo $vehicleData['model'];?></li>
      <?php endforeach ?>
      </ul>
    <?php endforeach ?>
    



    1. MySQLをCSVと比較し、違いを見つけます

    2. PostgreSQLタイムスタンプタイプでタイムゾーンを保持する

    3. コマンドラインクライアントでのMySQLコマンド出力が広すぎる

    4. libmemcachedパス?