2012-03-01 26 views
5

好吧,也許我只是在這裏消隱,但我正在製作通知系統,並且我使用PHP作爲後端。我使用下面的代碼來設置通知PHP通知

$updates = mysql_query("SELECT * FROM updates WHERE userid = '$uid'"); 
while($row = mysql_fetch_array($query)) { 
    if ($updates>0) { 
     for ($i=0; $i<$updates;$i++) { 
      echo ' 
       <li class="update">'.$updates.'</li> 
      '; 
     } 
    } else { 
     echo'<h4 class="nonew">No New Notifications</h4>'; 
    } 
} 

此代碼的正確數量將呼應通知的正確數目,但會響應整個它應該回顯單一評論內容。我如何只回覆單個通知的內容?我確信這有一個簡單的答案,我已經知道了,但我現在無法想到它。謝謝!


編輯:

繼承人我的數據庫結構:

Updates 
-id 
-userid 
-active 
-date 
-content 
+4

你能提供什麼是存儲在'$ updates'的樣本? – Josh 2012-03-01 00:32:28

+3

你的編輯沒有幫助。告訴我們'$ updates'的價值 – 2012-03-01 00:35:12

+0

嗨,約瑟夫,你有更新的數組嗎?它看起來像是使用'$ updates'作爲數字。 – 2012-03-01 00:37:03

回答

4
// In case $uid comes from user input 
$uid = mysql_real_escape_string($uid); 

// Fetch the user's notifications 
$updates = mysql_query("SELECT content FROM updates WHERE userid = '" . $uid . "'"); 

if (mysql_num_rows($updates)) 
{ 
    // Output the user's notifications 
    while ($get = mysql_fetch_array($updates)) 
    { 
     echo '<li class="update">' . $get['content'] . '</li>' . "\n"; 
    } 
} 
else 
{ 
    echo '<h4 class="nonew">No New Notifications</h4>' . "\n"; 
} 
+2

我從來沒有想過使用'mysql_num_rows'。謝謝! – 2012-03-01 00:41:18

+1

要謹慎起見,或許提供一個提醒,以清除'$ uid',以防從用戶輸入中獲取。 – Josh 2012-03-01 00:41:24

+1

正在寫這個完全相同的東西大聲笑 – Bot 2012-03-01 00:42:46