Rumah > pembangunan bahagian belakang > masalah PHP > Cara menggunakan Oracle untuk memaparkan data dalam paging dalam PHP

Cara menggunakan Oracle untuk memaparkan data dalam paging dalam PHP

PHPz
Lepaskan: 2023-04-24 14:37:06
asal
456 orang telah melayarinya

Dalam bidang pembangunan web, pemprosesan data dan pembangunan aplikasi, memaparkan data dalam halaman adalah fungsi yang sangat penting. Apabila aplikasi web menjadi lebih kompleks, memaparkan data dalam halaman menjadi lebih biasa. Artikel ini terutamanya memperkenalkan cara menggunakan pangkalan data Oracle untuk merealisasikan fungsi paparan paging data dalam PHP.

  1. Konsep asas paging

Apa yang dipanggil paging adalah untuk membahagikan set data yang besar kepada beberapa bahagian kecil untuk paparan. Fungsi paging adalah untuk memudahkan pengguna melayari sejumlah besar data, di samping mengurangkan beban pada pelayan. Secara umumnya, paging perlu menentukan maklumat penting seperti berapa banyak rekod yang dipaparkan pada setiap halaman, halaman mana halaman semasa berada, berapa banyak halaman yang ada secara keseluruhan, dan sebagainya.

Terdapat banyak cara untuk memaparkan data dalam halaman Salah satu cara biasa ialah menggunakan pernyataan pertanyaan pangkalan data untuk halaman. Melalui pernyataan pertanyaan, anda boleh mengehadkan bilangan maksimum hasil yang dikembalikan dan menentukan rekod yang mana untuk mula mengembalikan hasil untuk mencapai paparan data kelui.

  1. Pernyataan pertanyaan pangkalan data Oracle

Dalam pangkalan data Oracle, anda boleh menggunakan pernyataan SQL untuk membuat pertanyaan data. Pernyataan pertanyaan yang biasa digunakan termasuk SELECT, INSERT, UPDATE dan DELETE, dsb. Apabila melakukan pertanyaan paging, pernyataan pertanyaan yang paling biasa digunakan ialah pernyataan SELECT. Berikut ialah struktur asas pernyataan pertanyaan:

PILIH lajur1, lajur2, ...
DARI nama_jadual
WHERE condition
ORDER BY column_name ASC|DESC
LIMIT mula, count;

Antaranya, column1, column2, dan lain-lain ialah nama lajur yang perlu disoal, nama_jadual ialah nama jadual, syarat ialah syarat pertanyaan, nama_lajur ialah nama lajur pengisihan, ASC bermaksud susunan menaik , DESC bermaksud tertib menurun, dan mula ialah rekod permulaan Pengimbangan, kiraan ialah bilangan rekod yang akan disoal. Perlu diingatkan bahawa vendor pangkalan data yang berbeza mungkin mempunyai kaedah penulisan yang sedikit berbeza.

Dalam pangkalan data Oracle, ROWNUM digunakan untuk mengawal nombor maksimum dan kedudukan permulaan hasil yang dikembalikan. Berikut ialah contoh mudah:

PILIH *
DARI (PILIH ROWNUM rn, t.*

  FROM table_name t
  WHERE condition
  ORDER BY column_name ASC|DESC)
Salin selepas log masuk

DI MANA rn ANTARA mula DAN mula + kiraan - 1;

Dalam pernyataan pertanyaan ini, semua rekod yang memenuhi syarat akan disoal terlebih dahulu, dan nombor ROWNUM akan ditambahkan pada setiap rekod Kemudian, rekod yang memenuhi keperluan akan dipilih daripada rekod ini, iaitu rekod kiraan akan diambil dari mula. Akhirnya, rekod ini dikembalikan kepada pengguna

  1. PHP melaksanakan pertanyaan paging Oracle

Dalam PHP, anda boleh menggunakan sambungan OCI8 untuk menyambung ke Pangkalan data Oracle dan laksanakan pernyataan pertanyaan Pasang sambungan OCI8, dan kemudian gunakan fungsi oci_connect() untuk menyambung ke pangkalan data Berikut ialah contoh menyambung ke pangkalan data Oracle:

$conn = oci_connect(. 'nama pengguna', 'kata laluan', 'nama hos/SID');

Antaranya, nama pengguna dan kata laluan merujuk kepada nama pengguna dan kata laluan untuk log masuk ke pangkalan data Oracle, nama hos ialah nama hos atau alamat IP bagi pangkalan data, dan SID ialah pengecam unik pangkalan data

Selepas sambungan berjaya, anda boleh menggunakan fungsi oci_parse() dan fungsi oci_execute() untuk melaksanakan pernyataan pertanyaan pertanyaan paging:

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

$query = "PILIH *

$stid = oci_parse($conn, $query);
      FROM (SELECT ROWNUM rn, t.*
            FROM table_name t
            WHERE condition
            ORDER BY column_name ASC|DESC)
      WHERE rn BETWEEN :start AND :end";
Salin selepas log masuk

oci_bind_by_name( $stid, ':start', $start);

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


oci_execute($stid);

Dalam kod di atas, $halaman mewakili nombor halaman semasa, $per_halaman mewakili bilangan rekod yang dipaparkan pada setiap halaman dan $mula mewakili pengimbangan Amaun rekod permulaan Pertama, kira kedudukan permulaan rekod itu ditanya, kemudian bina pernyataan pertanyaan Oracle, dan gunakan fungsi oci_parse() untuk menyusun pernyataan pertanyaan Kemudian, gunakan fungsi oci_bind_by_name() untuk mengikat parameter dalam pernyataan pertanyaan untuk mencapai tujuan prapemprosesan. Akhir sekali, gunakan fungsi oci_execute() untuk melaksanakan pernyataan pertanyaan dan menyimpan hasilnya dalam $stid.

Kesimpulan
  1. Melalui pengenalan artikel ini, kami dapat melihat bahawa tidak sukar untuk menggunakan pangkalan data Oracle untuk melaksanakan pertanyaan paging, dan ia boleh membantu kami memproses besar jumlah data dengan lebih cekap. Dalam aplikasi praktikal, pelarasan perlu dibuat mengikut keadaan tertentu untuk mencapai kesan pertanyaan yang terbaik. Pada masa yang sama, anda juga perlu memberi perhatian kepada keselamatan pernyataan pertanyaan untuk mengelak daripada diserang oleh penjenayah.

Atas ialah kandungan terperinci Cara menggunakan Oracle untuk memaparkan data dalam paging dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan