8795 sujets

Développement web côté serveur, CMS

Bonjour à tous (et toutes ^^)
Je suis actuellement en cours de finalisation d'un projet et j'ai des requêtes assez complexes avec, pour certaines, plusieurs select imbriqués.
une requete me retourne par exemple :
aaaa bbbb cccc dddd eeee ffff
aaaa bbbb eeee iiiiii oooo pppp
hhhh bbbb kkkk mmmm uuuu sssss
bbbb étant le point commun, ces lignes correspondent à une "etiquette" nommée bbbb
Je n'ai mis que 3 lignes mais la requete réelle peut m'en sortir une dizaine selon les cas.
Tout fonctionne parfaitement bien.
Seulement, il y a énormément de données et souhaite imposer un LIMIT, le HIC, et de taille, c'est que, une ligne = un enregistement, si je fais limit 0,4 (exemple), j'aurai les 4 premieres lignes, mais il va me manquer des infos à l'affichage, le limit suivant sera limit 4,4, puis 8,4 etc... mais les infos vont être tronquées et cela pose des soucis à l'affichage des infos.
Ai-je été clair sur mes explications?

Existe-t-il un moyen de recuperer toutes les lignes correspondant à une etiquette sur un LIMIT sans la tronquée?

Merci d'avance Smiley smile
Modifié par quice (06 Jan 2015 - 20:38)
Bonjour,
Sans voir la requête et la schématisation de ta base, cela risque d'être compliqué.
Surtout que les termes que tu utilise ne sont pas très clair. ligne, enregistrement, etiquette
Prenons un exemple plus parlant, une commande d'un client :
n° de commande 12345, comprenant des lignes de commandes :
ligne 1 : drap + prix + ref article + qté
ligne 2 : oreiller + prix + ref article + qté
ligne 3 : couette + prix + ref article + qté
ligne 4 : dvd + prix + ref article + qté
ligne 5 : montre + prix + ref article + qté
La requette va me donner 5 lignes, hors si je fait un limit 0,4, je n'aurai pas la montre, lorsque je fais
page suivante, je fais limit 4,4
j'aurai la ligne 5 de la commande 12345 + 3 lignes de la commande suivante.
Les commandes seront tronquées et il me manquera des infos à chaque fois.

merci =)
Je crois avoir trouver une solution, de toute façon je n'aime pas trop utiliser limit, vu qu'elle charge TOUT le résultat de la requête et fais ensuite le tri.
J'ai opté pour un between, j'ai ajouter une colonne index autoincrement, et je fais un between n and n+5 et je suis certain en plus d'avoir toutes mes lignes liées à une commande
J'ai un peu de mal à comprendre ton problème vu que dans le résultat de ta requête je ne vois pas de champs de la table commande. Uniquement la table commande_article.

Je ne vois pas non plus comment ta solution pourrait régler le problème. Surtout s'il est prévu la possibilité de supprimer un article dans la commande.
merci pour ton concours,
en tout cas tout fonctionne sans soucis, même dans le cas de suppression/modification
Mais bon, la personne qui explique le probleme pense que c'est clair pour celui qui lit son explication.
Et c'est ouvent loin d'être le cas, malheureusement ^^
Modifié par quice (07 Jan 2015 - 13:36)