2012-03-01 60 views
5

Ok vì vậy có lẽ tôi chỉ đang trống ở đây nhưng tôi đang tạo một hệ thống thông báo và tôi đang sử dụng PHP làm chương trình phụ trợ của mình. Tôi đang sử dụng đoạn mã sau để thiết lập con số chính xác của các thông báoThông báo 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>'; 
    } 
} 

Mã này sẽ echo số chính xác của thông báo nhưng sẽ echo toàn bộ nơi mà nó cho là để echo rằng nội dung bình luận duy nhất. Làm thế nào để tôi chỉ echo nội dung của thông báo đơn đó? Tôi chắc chắn điều này có một câu trả lời đơn giản và tôi đã biết nhưng tôi không thể nghĩ về nó ngay bây giờ. Cảm ơn!


EDIT:

Heres của tôi cấu trúc cơ sở dữ liệu:

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

Bạn có thể cung cấp một mẫu của những gì được lưu trữ trong thư mục '$ updates'? – Josh

+3

Chỉnh sửa của bạn không hữu ích. Cho chúng tôi biết giá trị của '$ updates' –

+0

Xin chào Joseph, bạn có một loạt các cập nhật không? Có vẻ như bạn đang sử dụng '$ updates' làm số. –

Trả lời

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

Tôi chưa bao giờ nghĩ đến việc sử dụng 'mysql_num_rows'. Cảm ơn! –

+1

Để thận trọng, có thể cung cấp lời nhắc để khử trùng '$ uid' trong trường hợp nó được lấy từ đầu vào của người dùng. – Josh

+1

Đã viết chính xác cùng một điều này lol – Bot

Các vấn đề liên quan