Aller au contenu

Recherche multi-critères et nombre de résultat


Sujets conseillés

Posté

Bonjour,

Je fais une recherche multicritères dans une base de donné afin de récupérer une liste de résultats qui correspondent aux critères renseignés.

Je veux donc récupérer les résultats et le nombre de résultats. Actuellement je fais deux requêtes une pour les infos et une pour le nombre de résultat.

en gros

SELECT id,titre_fr,ss_titre_fr FROM matable WHERE lavie='c bo' et SELECT COUNT(id) FROM matable WHERE lavie='c bo'. Je pense qu'il existe une solution pour faire une seule requête mais lorsque je fusionne les deux:

SELECT id,titre_fr,ss_titre_fr,COUNT(*) FROM matable WHERE lavie='c bo'

j'ai un problème lors que listage, mon while($result=mysql_row($query)) ne me renvoi plus qu'un seul résultat.

Avez-vous une explication et/ou une solution.

Merci d'avance

Antoine

Posté

Merci beaucoup mais ya un soucis, pour optimiser mes requêtes et gérer ma pagination, je met un limit dans recherche sql. Donc mysql_num_rows m'affiche toujours le nombre de resultat definit par mon limit.

Ya pas moyen de faire une requete sql qui retourne les résultats et le nombre d'éléments (sans prendre en compte mon limit) en même temps?

Antoine

Posté

Si tinio c'est faisable, mais pas forcément plus rapide/optimisé.

La plupart du temps je fais simplement un count(*) qui est général, commun à toutes les pages (et donc placé en cache). Suivi du "select xxxx limit" qui récupère les données de la page courante.

Mais c'est évidement à adapter au volume de données et au volume d'écriture des données.

Une autre solution c'est d'ajouter 1 à ton limit. Si tu veux 20 lignes, tu en demandes 21. Cela te permet ainsi de savoir s'il y a une page suivante ou non ; mais ça ne t'indique pas le nombre de page total.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...