mysql_num_rows qui retourne 1 alors que la table est vide

mysql_num_rows qui retourne 1 alors que la table est vide - PHP - Programmation

Marsh Posté le 16-06-2005 à 11:50:12    

un bout de code...

Code :
  1. $sqlfacture = "SELECT MAX(numero_facture) FROM factures";
  2. $res=mysql_query($sqlfacture);
  3. $resfacture=mysql_result($res,'facture');
  4. //cherche le nombre de factures enregistrées
  5. $numfactures=mysql_num_rows($res);
  6. echo $numfactures;


... le script me retourne "1"... pourtant ma table est completement vide :(
 
pourquoi ?
 
dans PHPMyAdmin il me retourne ça :
 

Citation :

Affichage des enregistrements 0 - 0 (1 total, traitement: 0.0005 sec.)  
requête SQL:  
SELECT MAX( numero_facture )  
FROM factures  


Reply

Marsh Posté le 16-06-2005 à 11:50:12   

Reply

Marsh Posté le 16-06-2005 à 11:52:35    

c'est normal
si tu veux savoir le nombre de facture :  
soit tu fais u SELECT id FROM table et tu regarde avec mysql_num_rows
soit tu  fais SELECT MAX(id) FROM table et tu regarde si MAX(table) est superieur a 0


---------------

Reply

Marsh Posté le 16-06-2005 à 11:58:15    

ah ok je savais pas... je pensais que mysql_num_rows retournait obligatoirement le nombre de resultats trouvés...

Reply

Marsh Posté le 16-06-2005 à 11:59:51    

ca retourne le nombre de ligne que Mysql retourne
 
dans le cas d'un MAX/MIN le nombre de ligne est toujours de 1


---------------

Reply

Marsh Posté le 16-06-2005 à 12:03:19    

il faut donc récupérer les valeurs du result ...


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 16-06-2005 à 12:05:28    

c pas propre de faire deux requetes ? une pour retourner le nombre de lignes et une pour les resultats (si $numrows>=1) ?

Reply

Marsh Posté le 16-06-2005 à 12:07:27    

autant tout faire dans la meme , ca evite des requetes inutiles

Code :
  1. $query = SELECT MAX(id) FROM table
  2. $result = mysql_query($query);
  3. $data = mysql_fetch_rows($result)
  4. $nbCommande =$data[0];


Message édité par flo850 le 16-06-2005 à 12:07:36

---------------

Reply

Sujets relatifs:

Leave a Replay

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