2016-10-04 3 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 Server? Будьте осторожны при выборе тегов. – 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

Это работает очень хорошо. Мне просто нужно было сделать одно изменение. $ SQL1 = «SELECT stock.Hardwareid, hardware.Hardware, граф (*) в качестве CountHardware складе \t \t \t \t \t \t \t \t \t РЕГИСТРИРУЙТЕСЬ оборудование ON stock.HardwareID = hardware.HardwareID \t \t \t \t \t \t \t \t ГДЕ stock.CustomerID = $ CustID GROUP BY stock.HardwareID "; Но он примет этот ответ. благодаря – Legend1989

Смежные вопросы