Ciao ragazzi ho un problema con il conteggio dei recorde-set di una serie di tabelle.
Faccio così:
Codice PHP:
function conta_domande(){ $conto_generale = 0; $conto_composte = 0; $seleziona_materia = mysql_query("SELECT * FROM materia"); while($mostra_materia = mysql_fetch_array($seleziona_materia)) { $conta_generale = mysql_query("SELECT COUNT(id) FROM domanda_" . $mostra_materia[2] . " "); $mostra_numero_generale = mysql_fetch_array($conta_generale); $numero_generale = intval($mostra_numero_generale['COUNT(id)']); $conta_composte = mysql_query("SELECT COUNT(id) FROM domanda_" . $mostra_materia[2] . " WHERE composta = 'si'"); $mostra_numero_composte = mysql_fetch_array($conta_composte); $numero_composte = intval($mostra_numero_composte['COUNT(id)']); $conto_generale + $numero_generale; $conto_composte + $numero_composte; } echo "[b]Le domande inserite nel database sono: [/b]" . $conto_generale . "."; echo "
[b] - di cui normali[/b]: " . ($conto_generale-$conto_composte) . ".
\n" . "[b] - di cui composte: [/b]" . $conto_composte . ".
\n"; echo "
\n[b]Domande inserite per ciascuna materia: [/b]
\n"; $seleziona_materia = mysql_query("SELECT * FROM materia"); while($mostra_materia = mysql_fetch_array($seleziona_materia)) { echo "" . $mostra_materia[1] . ": "; $conta_domande_per_materia = mysql_query("SELECT COUNT(id) FROM domanda_" . $mostra_materia[2] . " "); $mostra_numero = mysql_fetch_array($conta_domande_per_materia); echo $mostra_numero['COUNT(id)'] . "
\n"; } }
Il server mi restituisce
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/htdocs/[...]/inc_domanda.php on line 12
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/htdocs/[...]/inc_domanda.php on line 16
che corrispondono ai conteggi dei record set nel primo ciclo while.
C'è un metodo migliore per contare i recordset?
Ho provato mysql_num_rows() ma mi da lo stesso errore.
Andrea