2012-03-01 16 views
5

Ok, quindi forse sto solo cancellando qui ma sto facendo un sistema di notifica e sto usando PHP come backend. Sto usando il seguente codice per impostare il numero corretto di notifichePHP Notifiche

$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>'; 
    } 
} 

Questo codice sarà eco il numero corretto di notifiche ma sarà eco l'intera dove dovrebbe echeggiare quel singolo contenuti commenti. Come faccio a echo solo il contenuto di quella singola notifica? Sono sicuro che questo ha una risposta semplice e lo so già ma non riesco a pensarci proprio ora. Grazie!


EDIT:

Heres la mia struttura del database:

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

Potete fornire un campione di ciò che è memorizzato in '$ updates'? – Josh

+3

La tua modifica non aiuta. Mostraci il valore di '$ updates' –

+0

Ciao Joseph, hai una serie di aggiornamenti? Sembra che tu stia usando '$ updates' come numero. –

risposta

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

Non ho mai pensato di usare 'mysql_num_rows'. Grazie! –

+1

Per essere prudenti, è possibile fornire un promemoria per sanificare '$ uid' nel caso in cui venga preso dall'input dell'utente. – Josh

+1

Stavo scrivendo esattamente la stessa cosa lol – Bot