Nombre d'enregistrement sur une requette

Nombre d'enregistrement sur une requette - PHP - Programmation

Marsh Posté le 20-03-2006 à 12:55:45    

Bonjour,
je voudrai connaitre combien il ya d'enregistrement dans $id

Code :
  1. $id=mysql_query("SELECT p.idparagraphe FROM paragraphe p , contenir_paragraphe cp 
  2.       WHERE p.idparagraphe=cp.idparagraphe
  3.       AND cp.idcontenu='$idcontenu[0]'" );


Le resultat de cette requette est de : "2" et "4"
 
javais essayé comme cela:
 

Code :
  1. $a=mysql_fetch_array($id);
  2. echo count($a);


mais ca me sort 1 au lieu de 2
 
Ya til une fonction pour avoir le resultat exacte?
merci


---------------
Feed-Back
Reply

Marsh Posté le 20-03-2006 à 12:55:45   

Reply

Marsh Posté le 20-03-2006 à 13:06:54    

Bonjour
 
bien evidemment qu'il existe une fonction que tu trouveras dans cette page :
 
http://fr.php.net/manual/fr/ref.mysql.php
 
Il est par ailleurs très utilse de parcourir rapidement la liste des fonctions pour voir ce qui se fait.
 
La plupart des fonctions existe pour les autres SGBD
 
Pierre

Reply

Marsh Posté le 20-03-2006 à 13:07:05    

[:sh@rdar] http://fr3.php.net/manual/fr/function.count.php et http://fr3.php.net/manual/fr/funct [...] -array.php

Citation :

count() retourne le nombre d'éléments dans var, qui est généralement un tableau et tout le reste, sauf les objets, n'aura qu'un élément.

mysql_fetch_array retournant un tableau dont le nombre de case est égal au nombre de colone retourné par la requette ou le double du nombre de colone retourné par la requette, ton code te retournerait toujours le même nombre : 1 ou 2. (tu ne demandes qu'une seule colone à mysql)
D'ailleur, c'est bizare que ton code retourne 1 vu que comme tu n'as pas précisé le type d'indice (numérique ou "nom des colones" ) que tu voulais pour ton tableau, il est censé te créer les deux indices à la fois.
 
En tout cas, si t'avais mieux lu ou compris la doc ou mieux retenu les tutoriels, t'aurais su que vu ta requette, tu devais chercher le résultat soit dans "$a[0]" soit dans "$a['idparagraphe']".

Reply

Marsh Posté le 20-03-2006 à 13:17:14    

il faut que tu utilises la fonction mysql_num_rows !
Il est normal que ton count ne marche pas. fetch_array te retourne un tableau par ligne résultat de ta requête. Dans chacune de ces lignes tu n'as qu'un champs ipparagraphe.  
Le count d'un tableau te remonte le nombre d'élements contenus dans celui-ci et c'est bien 1 dans ton cas.
 
Maintenant si tu as juste besoin du nombre d'élements contenus dans ta base, je te conseille plutôt de faire un

Code :
  1. SELECT count(*) ...


 
edit: [:benou_grilled] maxi-grilled de 10 mins ... Mais bon j'ai fait autre chose entre temps :o


Message édité par anapajari le 20-03-2006 à 13:18:08
Reply

Marsh Posté le 20-03-2006 à 13:29:18    

Merci pour votre aide c'est sympa ;)


---------------
Feed-Back
Reply

Sujets relatifs:

Leave a Replay

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