[PHP] – Navigate to previous and next row from current row

Terinspirasi dari posting vandai tentang PHP-MySql: Select previous row and next row from current ID tentang bagaimana cara bernavigasi dari row saat ini ke row selanjutnya dan sebelumnya. Berikut solusi dari vandai :

Go to previous row :

SELECT field1
FROM tablename
WHERE id < $currentid
ORDER BY id DESC
LIMIT 1

Go to next row :

SELECT field1
FROM tablename
WHERE ID > $currentid
ORDER BY id ASC
LIMIT 1

Solusi yang bagus dan efisien untuk menghemat resource database server. Namun bagaimana jika field ID bukan bertipe data numerik (integer, float, dll) ?

Ada satu solusi, sedikit lebih ribet memang, tapi bisa diterapkan untuk semua tipe data. Langkah2nya :

1. Harus diketahui dulu pada row keberapa posisi data yang saat ini ditampilkan.
2. Simpan posisi row ke variabel misal $currentRow

selanjutnya kode seperti berikut :

$goNext = $currentRow + 1;
$goPrev = $currentRow - 1;

kemudian link untuk navigasinya jadi seperti ini :

<a href="show.php?$currentRow=$goPrev">Prev</a><a href="show.php?$currentRow=$goNext">Next</a>

gunakan passing variabel $currentRow dari navigasi untuk query berikut :

SELECT * FROM something LIMIT $currentRow, 1

Dengan cara ini query akan melakukan select terhadap data dimulai dari row $currentRow dan di-limit 1 data. Dimana nilai $currentRow adalah posisi row setelah dikurangi atau ditambah 1 dari posisi row data sebelumnya.

I'm a wanderer of the seven kingdoms.

Tagged with: , ,
Posted in Pemrograman
2 comments on “[PHP] – Navigate to previous and next row from current row
  1. vandai says:

    nicee…
    tapi ga pake ORDER BY tuh?
    kan keluarannya pasti random.

  2. renxe says:

    ah betul juga, ORDER BY…

    biasanya secara default udah di-order berdasarkan field pertama…tp lebih bagus jg kalo dikasih ORDER BY.

    thanks atas koreksinya😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Welcome!
Hi! My name is Ridwan. This is my blog, I hope you enjoy it. You can also find me there:



Use Google Chrome
Community




Tugupahlawan - Komunitas Blogger Surabaya

Persatuan Pelajar Indonesia di Jepang
Archives
Follow Xrismantos on WordPress.com
%d bloggers like this: