par
albat » 22 avr. 2005, 18:22
Ces deux méthodes sont à utiliser, surtout la première - beaucoup plus élégante :
$requete_1 = "SELECT count(*) FROM table";
$resultat_1 = mysql_query($requete_1) or die();
$nombre_1 = mysql_result($resultat_1, 0);
$requete_2 = "SELECT count(*) AS total FROM table";
$resultat_2 = mysql_query($requete_2) or die();
$ligne_2 = mysql_fetch_assoc($resultat_2);
extract($ligne_2);
$nombre_2 = $total;
Sur des tables de type MyISAM, la requête
SELECT count(*) FROM table est optimisée.
Elle n'entraîne pas le parcours de la table en comptant les enregistrements
car la taille de la table est stockée dans une variable.
En conséquence, la méthode suivante est à éviter :
$str_requete = "SELECT * FROM maTable";
$o_result = mysql_query($str_requete);
$i_nbLigne = mysql_num_rows($o_result);
Désolé,
AntiZeus...

Ces deux méthodes sont à utiliser, surtout la première - beaucoup plus élégante : ;)
[php]$requete_1 = "SELECT count(*) FROM table";
$resultat_1 = mysql_query($requete_1) or die();
$nombre_1 = mysql_result($resultat_1, 0);[/php][php]$requete_2 = "SELECT count(*) AS total FROM table";
$resultat_2 = mysql_query($requete_2) or die();
$ligne_2 = mysql_fetch_assoc($resultat_2);
extract($ligne_2);
$nombre_2 = $total;[/php]Sur des tables de type MyISAM, la requête [b]SELECT count(*) FROM table[/b] est optimisée.
Elle n'entraîne pas le parcours de la table en comptant les enregistrements
car la taille de la table est stockée dans une variable.
En conséquence, la méthode suivante est à éviter :
[php]$str_requete = "SELECT * FROM maTable";
$o_result = mysql_query($str_requete);
$i_nbLigne = mysql_num_rows($o_result); [/php]
Désolé, [b]AntiZeus[/b]... ;)