compter simplement les enregistrements d'une table SQL..

compter simplement les enregistrements d'une table SQL.. - PHP - Programmation

Marsh Posté le 31-03-2003 à 00:14:38    

comment compter le nombre d'enregistrement d'une table SQL sans faire une requete du type select * count(*).. ?


Message édité par evr le 31-03-2003 à 00:17:08
Reply

Marsh Posté le 31-03-2003 à 00:14:38   

Reply

Marsh Posté le 31-03-2003 à 00:41:32    

evr a écrit :

comment compter le nombre d'enregistrement d'une table SQL sans faire une requete du type select * count(*).. ?


 
 :heink:  
select count(*)... pas besoin d'un etoile...
sinon je vois pas


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 31-03-2003 à 00:58:10    

oue c sans etoile :)
mais je veux dire y'a pas de fonction PHP ki permettent d'éviter les complications d'une connection a la base + exécution d'une requete juste pour avoir le nb de champs d'une table quoi..

Reply

Marsh Posté le 31-03-2003 à 01:56:38    

y a mysql_num_rows()
 
 
mais tu dois quand meme faire une requete avant
 
$result = mysql_query("SELECT * FROM table" );
$nombre_rows = mysql_num_rows($result);

Reply

Marsh Posté le 31-03-2003 à 02:14:44    

oue mais ca ca simplifie pas :/
le truc que je cherche c'est éviter d'interroger la base (notamment requete)
 
pour l'instant j'ai ça

Code :
  1. $co = mysql_connect(SERVER, USER, MDP);
  2. mysql_select_db(DB, $co);
  3. $requete="SELECT COUNT(*) FROM ".TABLE;
  4. $req = mysql_query($requete);
  5. $data=mysql_fetch_array($req);
  6. $nbNews=$data[0];


si quelqu'un connait plus simple ou moins lourd je suis preneur :)

Reply

Marsh Posté le 31-03-2003 à 02:23:19    

peut etre comme ca...  
 
$sql = "SELECT Count(*) as numRows FROM table";
$numRows = mysql_result(mysql_query($sql), 0, "numRows" );
 
 
c'est plus court :p
 
 
mais je pense pas que tu puisses connaitre le nombre de trucs dans la base sans interroger la base...


Message édité par art_dupond le 31-03-2003 à 02:25:04
Reply

Marsh Posté le 31-03-2003 à 13:01:50    

art_dupond a écrit :

y a mysql_num_rows()
 
 
mais tu dois quand meme faire une requete avant
 
$result = mysql_query("SELECT * FROM table" );
$nombre_rows = mysql_num_rows($result);


 
C'est vrai qu'il n'y a pas mieux ... pour cracher MySQL si tu travailles sur de très grosse table. La deuxième solution que tu proposes est quand même autrement plus optimisée :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed