Optimisation de requete de comptage

Résolu
jerrrrrry Messages postés 60 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 29 juillet 2009 - 13 avril 2008 à 17:52
jerrrrrry Messages postés 60 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 29 juillet 2009 - 3 juil. 2008 à 21:30
bonjour à tous
je cherche à selectionner certaines images (avec une requete where) et à compter le resultat en utilisant le moins de ressources possibles,  j'ai pas bien compris la syntaxe
pour le moment je fais$requete mysql_query ( 'SELECT cat,id,chemin,page FROM image where id '.$type.'') OR die('Erreur de la requête images');$ntotal count('id'); // il s'agit du nombre total d'image dont l'id'$type',

auriez vous une idée de la manière à suivre?
  merci

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
17 avril 2008 à 21:57
En demandant sur le forum php tu auras peut etre une reponse
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
17 avril 2008 à 20:45
Salut

Utilise directement une requete du type
SELECT count(*) FROM image where id= '.$type.''

Sinon avec une recherche poussée tu aurais trouvé
http://www.phpcs.com/infomsg_MYSQL_NUM_ROWS-COUNT_799955.aspx

Bon coding
0
jerrrrrry Messages postés 60 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 29 juillet 2009
17 avril 2008 à 21:08
salut merci pour ta reponse j'avais effectivement vu ce message sur le forum
en fait je voeux savoir s'il ést 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
jeremie
0
jerrrrrry Messages postés 60 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 29 juillet 2009
17 avril 2008 à 22:19
pas bête je vais essayer ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Farfadh Messages postés 68 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 7 juillet 2008 4
3 juil. 2008 à 20:50
Si j'ai bien compris tu veux à la fois sélectionner les images et en plus connaitre le nombre de résultats.

Pour éviter d'avoir à faire deux requêtes sélectionnant des images, MySQL propose une solution dans son manuel (je ne l'ai pas testée) :

$requete1 = mysql_query("SELECT SQL_CALC_FOUND_ROWS cat, id, chemin, page FROM image where id= $type'') OR die('Erreur de la requête images');

$requete2 = mysql_query('SELECT
SELECT FOUND_ROWS()'
) OR die('Erreur de la requête nombre images');

Mais en réalité, on peut se contenter d'une seule requête en PHP avec une fonction spécifiée dans le manuel :

$requete = mysql_query("SELECT cat, id, chemin, page FROM image where id= $type'') OR die('Erreur de la requête images');

$nbimages = mysql_num_rows();

Ceci ne fonctionne que pour l'instruction SELECT. Pour les instructions UPDATE ou DELETE, il faut utiliser la fonction mysql_affected_rows.
0
jerrrrrry Messages postés 60 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 29 juillet 2009
3 juil. 2008 à 21:30
c'est effectivement ce sur quoi je suis parti
mais ce serait quand même plus simple si les ordinateurs parlaient français!
0
Rejoignez-nous