no no. Allora count() ti restituisce il limite massimo di un array. Il recordset che restituisce una query COUNT non è vuoto. Ha un valore che contiene il numero di record restituiti dalla query quindi se fai un count() ovviamente avrai come minimo 1 (se c'è un solo valore e quindi zero elementi). Per salvare il contenuto di una query count devi fare così:
$sql="select count(campochiaveprimaria) from tabella;";
$qryId=mysql_query($sql);
$rstCnt=mysql_fetch_array($qryId);
a questo punto hai un array che si kiama $rstCnt che contiene le info della query. In questo caso ha un solo campo con un valore intero. Siccome è possibile recuperare i valori dei campi specificati nella query usando sia la chiave stringa (il nome specificato del campo) o anke l'indice numerico (che è il numero cardinale dei campi specificati nell'ordine nella query) possiamo considerare count(campochiaveprimaria) come il primo campo che ha quindi il numero zero. Quindi:
$iTotal=$rstCnt[0];
ovviamente si usa una chiave primaria per evitare che ci possano essere valori NULL che sarebbero esclusi dal count.
![]()


Rispondi quotando