Requete multiple

[Résolu]
Signaler
Messages postés
60
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
29 juillet 2009
-
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
-
bon[jour/soir],
je cherche à selectionner certaines images (avec une requete where) et
à compter le résultat en utilisant le moins de ressources possibles,  j'ai pas bien compris la syntaxe
j'aimerais savoir s'il est possible de faire un truc comme:
$requete mysql_query ( 'SELECT cat,id,chemin,page FROM image where id '.$type.', count('id')') OR die('Erreur de la requête images');

et si oui comment récuperer le count?
merci

8 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Euh... mais j'ai comme un doute... Je suis pas convaincu que le count() ne s'applique qu'aux résultats filtrés avec WHERE...

Cependant, quand une requête est exécutée et que le serveur renvoi un jeu de résultat, il stocke en mémoire le nombre de résultats. Exécuter mysql_num_rows() ne fait que lire ce résultat, qui a été DE TOUTE FACON ET QUOI QU'IL EN SOIT calculé lors de l'exécution de la requête. Donc, que tu le lises ou non, il est calculé et rendu disponible par le serveur.

Je ne vois donc pas pourquoi ne pas utiliser mysql_num_rows(), effectivement...
count(id) sera rapide parce que id est vraissemblablement une clé de la table.
Mais bon, lire le nombre de lignes n'est pas franchement lent... là, tu cherches midi à quatorze heure (je te le dis tout de suite : il n'y est pas)

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Salut,

Ta requête est mal foutue... Tu veux faire quoi exactement ?

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,

Moi je pense qu'il veut savoir le nombre de résultats que sa requête génère. La meilleure façon serait d'utiliser la fonction mysql_num_rows

Doc: http://ca.php.net/manual/en/function.mysql-num-rows.php

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Ben moi je pense pas, parce qu'il y a un count() dans sa requête...

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
60
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
29 juillet 2009

à neigedhiver ,
je veux  selectionner les champs cat,id,chemin,page de la table image dont l'id est identique à la variable $type et compter le nombre d'image (identifiée par id) qui repondent à cette condition,
à yoman64
j'aimerais utiliser count on m'a dit que  le count() est plus rapide à l'éxecution que le mysql_num_row()
merci
a+
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
En tout état de cause, cout(id) doit se trouver dans la clause SELECT, pas dans la clause WHERE.
Donne lui un alias pour le récupérer plus facilement :

SELECT count(id) as nb_id, patati, patata, blabla, blibli FROM table where bidule=id;

Euh par exemple quoi.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
60
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
29 juillet 2009

j'ai peut être quelques fuseaux horaires de décalage ;-)
je vais donc me servir de mysql_num_row
merci & à plus
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
@Neige: c'est pas parce qu'un utilisateur utilise une fonction en pensant que c'est supposé fonctionner, que ça veut dire que c'est adapté à la situation Parfois faut déchiffrer l'explication sans faire attention au bout de code fournit. Mais je suis sur que tu savais déja tout ça

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org