2014-02-12 42 views
-1

我有以下代碼: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; 
    ?> 

和錯誤是這樣

注意:未定義的變量:在/ var penjualan_tgl/WWW/ME /在線50上的stok/penjualan.php

如何解決這個問題?

+2

好吧,它更多的是知道sql語句,而不是PDO首先..這可能有助於:http://dev.mysql.com/doc/refman/4.1/en/counting-rows.html –

+0

你不能這樣做'$ queryqq =「SELECT * FROM ...」; $ queryqq =「SELECT COUNT(penjualan_kode)...' - 這是其中的一個。 –

+0

你可以發佈corect代碼嗎? – 3118731

回答

2

可以使用這樣做:

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

我已經爲您創建了SQL小提琴例如:

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

我建議你擁有了MySQL手冊上讀它的功能GROUP BY

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

+0

Thanks dude @ajtrichards。我在更新1中編輯我的代碼。給我消化如何解決這個問題? – 3118731

+0

你有沒有設置變量名爲'$ penjualan_tgl'?@ 3118731 – ajtrichards

+0

在我的db $ penjualan_tgl就像這個'2014-02-12 00:00:00'。 我不太瞭解PHP或MySQL .. – 3118731

相關問題