FAQ PHP
FAQ PHPConsultez toutes les FAQ
Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 18 septembre 2021
Il est pratique de paginer les résultats d'une requête. C'est possible en MySQL avec la clause LIMIT.
Sous SQL-ORACLE, il faut recourir à une sélection imbriquée. Le select intérieur est votre requête normale à laquelle on ajoute une colonne numérotant toutes les lignes de la sélection avec ROWNUM (il faut impérativement renommer cette colonne). Le select extérieur fait une projection sur toutes les colonnes (SELECT *) mais fait une sélection sur un intervalle (BETWEEN $start AND $end) de la colonne de numérotation (WHERE n).
SELECT
*
FROM
(
SELECT
..., ROWNUM
AS
n FROM
... WHERE
... )
WHERE
n BETWEEN
$start
AND
$end
;
Inconvénient : bien que l'on n'affiche qu'une portion des résultats, le temps d'exécution reste maximum.
À la fin de chaque script PHP, Oracle (et non PHP) lance un COMMIT d'office sur votre base. Pour empêcher cela, il fait faire un ROLLBACK avant l'arrêt du script.