2015-10-30 138 views
0

我想回顯用戶表中的所有ID,但是我無法使其工作。我嘗試了下面的內容並搜索了一些堆棧,但我找不到正確的答案。從表中獲取所有的ID MYSQL

 $query = $db->query("SELECT * FROM users"); 
     $num = $db->num($query); 
     while($array = $db->assoc($query)) { 
      $active_ids = $array['id']; 
     } 

     $query = "SELECT u.username, u.habbo, count(*) AS n 
     FROM users u, timetable tt 
     WHERE u.id=tt.dj and u.id IN (".$active_ids.") 
     GROUP BY tt.dj"; 

     $result = $mysqli->query($query); 

     if ($result->num_rows > 0) { 
      while($row = $result->fetch_assoc()){ 
       echo "<tr id='uren-table-row'>"; 
       echo "<td width='60px'><div style='height:50px;padding-top:25px;overflow:hidden;float:left;margin-top:-25px;'><img style='margin-top:-28px;float:left;' src='http://habmoon.org/moonstream/dj?habbie={$row['habbo']}&amp;head_direction=3&amp;direction=2&amp;size=b&amp;hb=img&amp;gesture=sml'></div></td>"; 
       echo "<td width='200px' style='padding:0 15px;'>", $row['username'] ,"</td>"; 
       echo "<td style='padding:0 15px;'>Heeft <b>", $row['n'] ,"</b> Uur gedraait deze week</td>"; 
       echo "</tr>"; 
      } 
     } 
+0

當您運行此代碼時會發生什麼? – nicomp

+0

它只顯示1結果,但我需要回顯所有結果的@DelmerNicholson – Christian

+0

執行'var_dump($ query)'。結果是什麼。 – Terminus

回答

2

您需要使$active_ids成爲CSL。目前,您在每次迭代時都會覆蓋ID,因此您只能獲得最後一個ID。您還需要用逗號分隔,所以請使用implode。請嘗試:

while($array = $db->assoc($query)) { 
      $active_ids[] = (int)$array['id']; 
} 
$active_ids = implode(',', $active_ids); 
+0

你仍然需要定義一個'$ active_ids'變量,否則它會拋出一個通知。 – divix

+0

@divix不適用於動態數組賦值。演示:https://eval.in/460411串聯,'。='會拋出通知,因爲它試圖加入先前未定義的字符串。 – chris85

+1

夠公平,我的不好。但我仍然喜歡頂端的變量定義:) – divix

3

從您的查詢中移除count(*) AS n。這將導致MySQL只返回1條記錄。

你也有一些錯誤在你的第一行:

$active_ids = array(); 
while($array = $db->assoc($query)) { 
    $active_ids[] = $array['id']; 
} 

你忘了定義$active_ids並添加[]

+0

它不計數的ID ..因爲當我使用$ active_ids ='1,3,4';它完美的工作,但我需要它自動化。 – Christian

+0

對不起,但我不明白它基督徒,如果你將從查詢中刪除'count(*)AS n',那麼你將得到所有相對記錄。如果你不想統計它們,那麼不要附加我的第二個代碼。 – divix

+0

http://stackoverflow.com/questions/33388764/how-can-i-make-a-table-while-fetch-assoc這就是計數的ID – Christian