2014-04-08 81 views
0

這裏是我的代碼:PHP表。顯示多行到一個

<table border="2px solid #FFF" width="100%"> 
      <tr> 
       <td width="50%"><Center>Username:</Center><br /></td> 
       <td width="50%"><center>Numebr Of Warnings:</center><br /></td> 
      </tr> 
      </table> 
      <? 
      $query = mysql_query("SELECT * FROM warnings"); 
      $numrows = mysql_num_rows($query); 
       if($numrows != "0"){ 
        while($row = mysql_fetch_assoc($query)){ 
         $warned = $row['username']; 
         $by = $row['by']; 
         $sql = mysql_query("SELECT * FROM warnings WHERE username='$warned'"); 
         $warns = mysql_num_rows($sql); 
         ?> 
          <table border="2px solid #FFF" width="100%"> 
           <tr> 
            <td width="50%"><center><b><?php echo $warned; ?></b></center></td> 
            <td width="50%"><center><b><?php echo $warns; ?></center></b></td> 
           </tr> 
          </table> 
         <?php 
        } 
       } 
       else 
        echo "No Currently Warned Users"; 
       ?> 

      <hr /> 

這裏是結果:enter image description here

我怎樣才能讓這個不是顯示2個結果用戶MRG的... ..我只是希望它顯示一個結果的數量或行數。

幫助將不勝感激。

希夫

+0

有沒有這樣的事情作爲「php表」。你應該是一個HTML表格。 – arkascha

+1

使用具有sum功能的'group by' –

+0

表格的結構如何? – Philibobby

回答

1

您可以使用DISTINCT在你的查詢,以避免在搜索結果中重複的行:

SELECT DISTINCT username, `by` FROM warnings 
+0

這增加了2和1使所有用戶三。 – user3474238

0

變化與mysql_feth_array

你得到雙重記錄用戶mysql_fetch_assoc。然後對於每個用戶你得到2行

檢查它的最好方法是添加僞點到您的代碼。

$query = mysql_query("SELECT * FROM warnings"); 
$arr=array(); 
while($row = mysql_fetch_assoc($query)) 
{ 
    $arr[]=$row; 
} 
echo "<pre>"; 
print_r($arr);  
echo "</pre>"; 
exit; 

這裏檢查$ arr是否有雙重入口。然後換用mysql_fetch_array的mysql_fetch_assoc,然後再試一次

+0

對不起,沒有完全按照。如何迴應表格? – user3474238

+0

你可以看到你的數組是否有來自記錄的雙重條目。當你從db獲取雙記錄時選擇記錄時,我認爲mysql_fetch_assoc。如果您還有問題,我可以幫助您使用teamviewer或任何您需要的東西。 –

+0

對不起,很痛苦......你能寫出完整的代碼給我嗎?包括桌子,以便我能理解並從中學習?抱歉。謝謝 – user3474238

0

下面是表

(通過ID,用戶名,日期)

A1,1,U1,日期

A2,2,U2 ,日期

a3,3,U2,日期

a4,4,U2,日期

這裏是php代碼

<?php 
$conn = mysqli_connect("localhost","username","password"); 
mysqli_select_db($conn,"dbname"); 

$warns = mysqli_query($conn,"select username, count(username) as warncount from dtest.warnings W group by username"); 

while($line = mysqli_fetch_array($warns)) 
{ 
    echo $line['username']." has ".$line['warncount']. " warns <br/> "; 
} 
?> 
+0

謝謝,但得到了這樣的錯誤:警告:mysqli_fetch_array()期望參數1是mysqli_result,布爾在/home/cocpages/public_html/mods.php在第40行給出。我沒有改變db連接文件 – user3474238

+0

直接嘗試我的代碼。用上面的結構和檢查創建一個表。如果你需要我可以在我的電腦上看到你。不要擔心我不是黑客,黑客:) –

+0

並不意味着我剛剛連接到我的數據庫的文件。表結構是正確的。如果沒有解決方案,可能會稍微做一個Teamviewer。我們可以在這裏進行私人聊天嗎?你能做一個嗎? :) – user3474238