par
devlop78 » 19 sept. 2010, 18:43
Bonjour,
J'ai vu que le sujet a été abordé plusieurs fois mais il me faut le temps de tout décortiquer sans, au final, être sûr du résultat. Alors, je vous demande votre avis.
SELECT * FROM `table1` LEFT JOIN `table2` ON `table2`.`idDevis` = `table1`.`id` ORDER BY `table1`.`date` DESC, `table2`.`dateM` DESC LIMIT $position, 20
voilà le principe : retourner la liste des devis avec leurs messages (sorte d'historique), le tout trié part ordre décroissant de date de devis et de date de messages (très important). $position, quant à lui, c'est une mise en place rapide du déplacement entre les pages.
Hier, je ne me suis pas posé la question en mettant ça. Mais là j'ai eu un éclair (j'étais dehors), je me suis dit : "Mais au fait, ne risque-t-il pas de s'arrêter à 20 résultats au total plutôt qu'à 20 devis ?".
Donc voilà ... je souhaiterais avoir 20 (ou autre défini par moi-même) résultats de devis (table1) quelque soit le nombre de résultat de messages (donc de résultats au final).
Je dois pouvoir naviguer dans ces résultats : il ne s'agit pas de m'afficher les 20 premiers, mais bel et bien de m'afficher les 20 premiers, pui quand je clique sur "suivant" de m'afficher de 20 à 49, etc ...
Une idée ? Je suis sûr que oui

Merci d'avance
PS : Seulement en SQL pas de PHP, il faut partir du principe que la requête sans LIMIT peut retourner 1 milliard de résultats.