jerrrrrry
Messages postés60Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention29 juillet 2009
-
17 avril 2008 à 22:24
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 2010
-
18 avril 2008 à 00:22
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');
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 17 avril 2008 à 23:21
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...
jerrrrrry
Messages postés60Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention29 juillet 2009 17 avril 2008 à 23:14
à 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+
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 17 avril 2008 à 23:17
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...
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 18 avril 2008 à 00:22
@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