2012-03-01 10 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>'; 
    } 
} 

の正しい数を設定するには、次のコードを使用しています。その単一の通知の内容のみをエコーし​​ますか?これは簡単な答えがあると確信していますが、私はすでにそれを知っていますが、今はそれを考えることができません。ありがとう!


EDIT:

HERESに私のデータベース構造:

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

あなたは '$のupdates'に格納されているもののサンプルを提供することができますか? – Josh

+3

あなたの編集は役に立たない。 '$ updates'の価値を教えてください –

+0

こんにちはJoseph、あなたには最新のアップデートがありますか? '$ updates'を数字として使っているようです。 –

答えて

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'を使うことは考えていませんでした。ありがとう! –

+1

慎重を期すために、ユーザからの入力の際に '$ uid'をサニタイズするように注意してください。 – Josh

+1

これはまったく同じものを書いていました。 – Bot