PHP PDO计算相同的列并仅显示一行



我有以下代码:

<?php
    $query = "SELECT * FROM penjualan";
    $stmt = $con->prepare( $query );
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)):
        extract($row);
?>
<?php echo $penjualan_kode;?>  
<?php endwhile;?>

输出看起来像这样

JL1202146
JL1202146
JL1202146
JL1202149
JL1202149

但我希望它是这样的:

JL1202146 (3)
JL1202149 (2)

我该怎么做?或者你能给我一个链接或其他东西,让我学习吗?

更新 1 :

我在这里遇到了其他错误代码

  <?php
      $queryqq = "SELECT * FROM `penjualan`";
      $queryqq = "SELECT COUNT(penjualan_kode) AS hitung, penjualan_kode FROM penjualan GROUP BY penjualan_kode";
    $stmtq = $con->prepare( $queryqq );
    $stmtq->execute();
    $numq = $stmtq->rowCount();
    if($numq>0):
    while ($rowq = $stmtq->fetch(PDO::FETCH_ASSOC)):
    extract($rowq);
     @$z++;
  ?>
  <tr>
    <td>
        <?php echo $z;?>
    </td>
    <td>
        <code><?php echo $penjualan_kode;?></code>
    </td> 
    <td>
        <?php echo $penjualan_tgl;?> // here is line 50 in error
    </td>
    <td>
        <?php echo $hitung;?>
    </td>
    <td>
        <?php echo $z;?>
    </td>
  </tr> 
  <?php
    endwhile;
    endif;
  ?>

错误是这样的

注意:未定义的变量:penjualan_tgl/var/www/me/stok/penjualan.php 第 50 行

如何解决?

您可以使用以下方法执行此操作:

SELECT COUNT(column_name) as column_count, column_name FROM penjualan GROUP BY column_name

我为您创建了一个SQL Fiddle示例:

http://sqlfiddle.com/#!2/4f3938/1

我建议你阅读MySQL手册,了解它的GROUP BY函数。

https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

最新更新