Je crée des panneaux de recherche de style eBay qui permettent aux utilisateurs de restreindre leurs résultats en fonction de certains critères. Par exemple:Création de compteurs à partir de résultats de recherche paginés ...?
Mots
Littérature (8) Fiction (4) Anglais (4) américain (3) non-fiction (2)
Le nombre des résultats qui ont cette propriété est entre parenthèses. Dans un premier temps, je construit les compteurs en plaçant ce code dans mon affichage boucle résultats:
if(isset($tags[$row['tags']])) {
$tags[$row['tags']]++;
} else {
$tags[$row['tags']] = 1;
}
Je paginé mes résultats et qui ont cessé de travailler - les données requête suffisamment retourne uniquement pour la page que vous êtes, donc les compteurs uniquement représenter les résultats sur cette page.
Quelqu'un peut-il suggérer une autre approche?
Les étiquettes ne sont qu'un critère parmi d'autres. Si possible, je préférerais éviter les requêtes supplémentaires. – cantlin
Votre autre option consiste à faire une requête complète, sans limite. Ensuite, vous pouvez compter vos tags et faire la logique de pagination en PHP. Ce sera une approche plus lourde, du moins en PHP sinon sur la base de données, mais elle devrait être plus flexible. – keithjgrant
Vous avez raison, mais c'est un appel difficile - des requêtes supplémentaires par rapport à saisir l'ensemble des données sur chaque page. Je me demande comment les autres sites qui affichent ce type d'information structurent leur code. – cantlin