Je construis un site php en utilisant jquery et le plugin DataTables. Ma page est présentée comme elle doit l'être avec la pagination mais en traitant de grands ensembles de données, j'ai remarqué que le serveur tire TOUTES les lignes retournées par opposition à la limite de 10 lignes (peut être plus) indiquée dans chaque 'page'.Possible de limiter les résultats retournés, mais laisse 'pagination' à table?
Est-il possible de limiter les résultats d'une requête tout en conservant les numéros d'ID de ces résultats en mémoire, alors lorsque la page 2 est atteinte (ou le numéro de résultat est modifié), seules les nouvelles données sont recherchées?
Est-il même logique de le faire de cette façon?
Je ne veux tout simplement pas interroger une base de données avec 2000 lignes retournées, puis avoir un 'plug-in frontal' donner l'impression que les autres résultats sont cachés lorsqu'ils sont honnêtement sur la page depuis le début.
Je ne suis pas du tout d'accord. D'après mon expérience de la mise en œuvre dans un certain nombre de sites, l'option 1 pour obtenir le nombre total est en fait préférable. L'utilisation de 'SQL_CALC_FOUND_ROWS' chatouille une variété de bogues et de bizarreries MySQL, y compris la destruction de tout gain de performance de la clause' LIMIT'. – staticsan
Merci pour votre aide tout d'abord. Je connais bien la clause LIMIT, mais le problème avec lequel je me bats est de savoir comment conserver ces enregistrements individuels dans les variables de données, surtout sans nécessiter de chargement de page supplémentaire. Le plugin DataTables a des exemples côté serveur, mais ils semblent être si vieux et utilisent des appels sql plus anciens, il est presque plus frustrant de les chiffrer (sans parler des problèmes avec les formats datetime et les réponses json). On dirait que je vais devoir expérimenter un peu. – JM4
Vous avez deux options de base. Tirez-les tous avec une requête, ou seulement quelques-uns avec une limite. Mais vous pouvez utiliser les outils AJAX de jQuery et écrire un script latéral sur le serveur qui vous permet d'extraire plus de données au besoin afin de ne pas avoir à recharger la page. C'est ainsi que mon script fonctionne habituellement. – gokujou