2016-10-04 10 views
0

ダッシュボードに入れたいスクリプトがあります。 SQLは、アイテムをしばらく動かしてグループ化し、ダッシュボードに正しく表示されます。しかし、私はまた、QTYを表示したい。SQLグループの行数をカウントする

SQLがグループ化されている場合、どのように行を数えることができるので、QTYを各行のテーブルにエコーすることができます。これは私のコードです。

<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "root"; 
    $dbname = "dbname"; 
    $custid = $row['CustomerID']; 
    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 
    $sql1 = "SELECT * FROM stock 
      JOIN hardware ON stock.HardwareID = hardware.HardwareID 
      WHERE stock.CustomerID = $custid GROUP BY stock.HardwareID"; 
    $result1 = $conn->query($sql1); 
    if ($result1->num_rows > 0) { 
     // output data of each row 
     while($row1 = $result1->fetch_assoc()) { 
      echo "<tr>"; 
      echo "<td>".$row1['Hardware']."</td>"; 
      echo "<td></td>"; 
      echo "</tr>"; 
     } 
    } 
?> 

だから目的は行を有することである

echo "<td></td>"; 

がグループ化される行ごとに数量を示し、その中の変数があります。

+0

MySQLをそれを変更することができます*または* SQLサーバー?あなたのタグを選択する際にはさらに注意してください。 – DavidG

+0

申し訳ありませんこれを修正しました。 – Legend1989

答えて

2

このクエリを使用することができ、クエリによってグループは、集計を選択して提供する必要があり、ここで私は、カウントを提供している、あなたは適切な列の一部を必要とする場合、あなたは...それに応じ

  <?php 
       $servername = "localhost"; 
       $username = "root"; 
       $password = "root"; 
       $dbname = "dbname"; 

       $custid = $row['CustomerID']; 

       // Create connection 
       $conn = new mysqli($servername, $username, $password, $dbname); 
       // Check connection 
       if ($conn->connect_error) { 
        die("Connection failed: " . $conn->connect_error); 
       } 
       $sql1 = "SELECT stock.Hardwareid, count(*) as CountHardware FROM stock 
       JOIN hardware ON stock.HardwareID = hardware.HardwareID 
       WHERE stock.CustomerID = $custid GROUP BY stock.HardwareID"; 
        $result1 = $conn->query($sql1); 

       if ($result1->num_rows > 0) { 
        // output data of each row 
        while($row1 = $result1->fetch_assoc()) { 
         echo "<tr>"; 
         echo "<td>".$row1['Hardware']."</td>"; 
         echo "<td></td>"; 
         echo "</tr>"; 
        } 
       } 
      ?> 
+0

これは本当にうまく動作します。私はちょうど1つの変更を行うために必要な。$ SQL1 =は「株式 \t \t \t \t \t \t \t \t \t FROM CountHardwareとしてstock.Hardwareid、hardware.Hardware、COUNT(*)を選択stock.HardwareID = hardware.HardwareID 上のハードウェアを登録しよう\t \t \t \t \t \t WHERE stock.CustomerID = $ custid GROUP BY stock.HardwareID ";しかし、この答えを受け入れます。ありがとう – Legend1989

関連する問題