Maison  >  Article  >  développement back-end  >  Comment utiliser Oracle pour afficher des données dans une pagination en PHP

Comment utiliser Oracle pour afficher des données dans une pagination en PHP

PHPz
PHPzoriginal
2023-04-24 10:50:34447parcourir

Dans les domaines du développement web, du traitement des données et du développement d'applications, l'affichage des données dans les pages est une fonction très importante. À mesure que les applications Web deviennent plus complexes, l’affichage des données dans des pages devient de plus en plus courant. Cet article présente principalement comment utiliser la base de données Oracle pour réaliser la fonction d'affichage par pagination des données en PHP.

  1. Le concept de base de la pagination

La soi-disant pagination consiste à diviser un grand ensemble de données en plusieurs petites parties pour l'affichage. La fonction de la pagination est de permettre aux utilisateurs de parcourir plus facilement de grandes quantités de données, tout en réduisant la charge sur le serveur. De manière générale, la pagination doit spécifier des informations clés telles que le nombre d'enregistrements affichés sur chaque page, la page actuellement affichée, le nombre total de pages, etc.

Il existe de nombreuses façons d'afficher des données dans des pages. L'une des méthodes les plus courantes consiste à utiliser des instructions de requête de base de données pour la pagination. Grâce aux instructions de requête, vous pouvez limiter le nombre maximum de résultats renvoyés et spécifier quel enregistrement doit commencer à renvoyer les résultats pour obtenir un affichage par pagination des données.

  1. Requêtes de requête de la base de données Oracle

Dans la base de données Oracle, vous pouvez utiliser une méthode similaire aux instructions SQL pour interroger les données. Les instructions de requête couramment utilisées incluent SELECT, INSERT, UPDATE et DELETE, etc. Lors de l'exécution de requêtes de pagination, l'instruction de requête la plus couramment utilisée est l'instruction SELECT. Voici la structure de base d'une instruction de requête :

SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column_name ASC|DESC
LIMIT start, count ;

Parmi eux, column1, column2, etc. . sont ceux qui doivent être interrogés. Nom de la colonne, nom_table est le nom de la table, condition est la condition de requête, nom_colonne est le nom de la colonne de tri, ASC signifie ordre croissant, DESC signifie ordre décroissant, start est le décalage de l'enregistrement de départ et. count est le nombre d'enregistrements à interroger. Il convient de noter que différents fournisseurs de bases de données peuvent avoir des méthodes d'écriture légèrement différentes.

Dans la base de données Oracle, ROWNUM est utilisé pour contrôler le nombre maximum et la position de départ des résultats renvoyés. Voici un exemple simple :

SELECT *
FROM (SELECT ROWNUM rn, t.*

  FROM table_name t
  WHERE condition
  ORDER BY column_name ASC|DESC)

WHERE rn BETWEEN start AND start + count - 1;

Dans cette instruction de requête, tous les enregistrements qui remplissent les conditions seront interrogé en premier et ajoutez un numéro ROWNUM à chaque enregistrement. Ensuite, sélectionnez les enregistrements qui répondent aux exigences de ces enregistrements, c'est-à-dire comptez les enregistrements depuis le début, et enfin renvoyez ces enregistrements à l'utilisateur

  1. PHP implémente la pagination Oracle. requête.

En PHP, vous pouvez utiliser l'extension OCI8 pour vous connecter à la base de données Oracle et exécuter des instructions de requête. Vous devez d'abord installer l'extension OCI8, puis utiliser la fonction oci_connect() pour vous connecter à la base de données :

$conn = oci_connect('username', 'password', 'hostname/SID');

Parmi eux, le nom d'utilisateur et le mot de passe font référence au nom d'utilisateur et au mot de passe pour se connecter à la base de données Oracle, le nom d'hôte est le nom d'hôte ou l'adresse IP de la base de données, et SID est l'identifiant unique de la base de données.

Une fois la connexion réussie, vous pouvez utiliser la fonction oci_parse() et la fonction oci_execute() pour exécuter l'instruction de requête.

$page = isset($_GET['page']) ? $_GET ['page'] : 1;
$per_page = 10;
$start = ($page - 1) * $per_page;

$query = "SELECT *

      FROM (SELECT ROWNUM rn, t.*
            FROM table_name t
            WHERE condition
            ORDER BY column_name ASC|DESC)
      WHERE rn BETWEEN :start AND :end";

$stid = oci_parse($conn, $query) ;

oci_bind_by_name($stid, ':start', $start);
oci_bind_by_name($stid, ':end', $start + $ per_page - 1);

oci_execute($stid);

ci-dessus Dans le code, $page représente le numéro de la page actuelle, $per_page représente le nombre d'enregistrements affichés sur chaque page et $start représente le décalage de l'enregistrement de départ . Commencez par calculer la position de départ de l'enregistrement à interroger, puis construisez l'instruction de requête Oracle et utilisez-la. La fonction oci_parse() compile l'instruction de requête. Ensuite, la fonction oci_bind_by_name() est utilisée pour lier les paramètres dans le. instruction de requête à des fins de prétraitement. Enfin, la fonction oci_execute() est utilisée pour exécuter l'instruction de requête et stocker les résultats dans $stid .

  1. Conclusion

Grâce à l'introduction de cet article, nous pouvons voir qu'il n'est pas difficile d'utiliser la base de données Oracle pour effectuer des requêtes de pagination, et cela peut nous aider à traiter plus efficacement de grandes quantités de données. Dans les applications pratiques, des ajustements doivent être effectués en fonction de circonstances spécifiques pour obtenir le meilleur effet de requête. Dans le même temps, vous devez également faire attention à la sécurité des instructions de requête pour éviter d'être attaqué par des criminels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn