ho un database con le seguenti tabelle
codice:
thread(id_thread,titolo,commento);
post(id_post,thread,title,testo,postby,data);
reply(id_reply,post,title,testo,replyby,data);ì
con :
codice:
FOREIGN KEY (thread) REFERENCES thread(id_thread);
FOREIGN KEY (post) REFERENCES post(id_post);
ora vorrei selezionare il numero totale dei reply per ogni thread e quindi faccio la sequente query:
Codice PHP:
//estraggo tutti gli id_post associati ad un thread ($id_thread)
$query="SELECT id_post FROM post WHERE thread='$thread'";
$result=mysql_query($query) or die ("query get_num_message fallita: ".mysql_error() );
$id=mysql_fetch_row($result);
//inizializzo il numero totale dei reply presenti a 0
$totale=0;
//controllo se $id è vuoto
if (array_pop($id)!=NULL)
{
//se non è vuoto lo faccio scorrere e per ogni id_post
//il numero dei reply associati
foreach ($id as $post)
{
$query="SELECT COUNT(*) FROM reply WHERE post = '$post'";
$result=mysql_query($query) or die ("query get_num_message fallita: ".mysql_error() );
$num=mysql_fetch_row($result);
//sommmo il numero dei reply associati al post al totale
$totale+=$num['0'];
}
}
return $totale;
il problema è che mi esce questo notice e non mi fa la somma:
codice:
Warning: array_pop(): The argument should be an array in C:\apachefriends\xampp\htdocs\esempi\navigare\db_use.php on line 71
come se $id non fosse un array, come posso controllarlo se è vuoto?