Bonjour,
Pour info j'utilise mysql 5 et php 5
J'ai un petit problème avec les limit y'a un truc que je ne comprends pas.
voici ma requête sql :
Bon alors $mode et $critere proviennent du formulaire qui me permet d'effectuer ma recherche $mode est en faite la sélection d'un champ de la table produits, en l'occurrence (saisie ou lot) et $critere est un nombre X pour la recherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $select = "SELECT * from produits, pays, types WHERE produits.checked = '".$_SESSION['type']."' and produits.vente = '".$_SESSION['num']."' and pays.code_p = produits.pays and types.code_t = produits.type ORDER BY produits.".$mode." ASC LIMIT ".($critere-1).",50";
bon y'a deux cas le premier :
Avec lot ça marche, pourquoi? Parceque si je fais une recherche par exemple sur le lot 1 je vais bien avoir les 50 premiers lot car la limite sera alors 0,50.
deuxième cas :
Avec saisie ça marche pas , car si je recherche la saisie 117 je vais tombé sur la saisie 233 pourquoi? parceque la saisie 233 correspond au lot 117 et que la limite est donc 116,50.
Donc comment est il possible d'afficher les 50 premiers résultat quelque soit le champ de la table qu'ont interroge, est t'il possible de faire des limites autre que sur les id d'une table ? Tel est le dilemme.
Bon j'ai également essayé de mettre juste LIMIT 50 bien sur mais ça marche pas car dans ce cas là je peux pas rechercher au delà des 50 premiers produits : exemple : je rechercher le lot 51 ça me retournera le lot 1.
Bon si jamais c'est pas possible, vous pouvez peut être m'aider à optimisé ma table et ou ma requête pour évité d'exploser les temps d'attente pour info la table aura plus de 10000 entrées sur un serveur local car cette requête marche parfaitement sans les limites.
Merci
Antoine
Partager