Source Code : Cara mengambil Database MySQL Secara Acak atau Random

Tutorial PHP kali ini saya akan membahas bagaimana cara mengambil data secara acak dari database MySQL. Sebenarnya mengambil database secara acak sebenarnya sangatlah mudah sekali, tetapi beberapa waktu yang lalu saya sedikit mengalami kesulitan sewaktu mau menampilkan artikel terkait yang berada dikategori sama dengan artikel yang sedang di tampilkan. Artikel terkait yang ingin saya tampilkan adalah artikel yang dipilih berdasarkan random (acak).

Sebenarnya teknik seperti ini sudah lama sekali saya ketahui, namun ketika saya memerlukannya, saya benar-benar lupa bagaimana caranya. Padahal ini sangat mudah dan simple. Akhirnya dengan bantuan salah satu blog saya menemukan solusinya.

Selain sekedar posting, mungkin ada juga rekan-rekan yang mengalami masalah yang sama dengan sama, bisa terbantu dengan article ini. Misalkankanlah kita memiliki database MySQL dengan struktur seperti kode dibawah ini dan didalamnya kita sudah input beberapa data :

CREATE TABLE IF NOT EXISTS `artikel` (`artikelID` int(10) NOT NULL AUTO_INCREMENT,`judulArtikel` varchar(100) NOT NULL,`isiArtikel` text NOT NULL,`diskripsiArtikel` text NOT NULL,`penulis` varchar(50) NOT NULL,PRIMARY KEY (`artikelID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Berdasarkan database diatas kita bisa melakukan banyak sekali operasi databaseSelain itu ada banyak lagi yang kita lakukan, tetapi disini kita akan membahas bagaiamana cara mengambil data dan menampilkannya dengan kriteria yang kita buat.

1. Menampilkan Data yang diurutkan berdasarkan ID secara ASCENDING

Data ditampilkan secara Ascending maksudnya data ditampilkan berdasarkan ID dimana data artikel yang ditampilkan adalah artikel dengan ID paling kecil, yang artinya artikel paling lama berada didatabase. Sintaks MySQL untuk menampilkannya adalah seperti dibawah ini :

SELECT * FROM `artikel` ORDER BY `artikelID` LIMIT 10

Perhatikan bahwa tidak ada keterangan ASCENDING (ASC) pada sintaks diatas, namun ini tidak masalah, karena secara default, MySQL akan mengurutkan data secara Ascending jika tidak disetting urutannya.

2. Menampilkan Data yang diurutkan berdasarkan ID secara DESCENDING


Menampilkan data secara Descending maksudnya adalah menampilkan data yang memiliki ID paling besar yang berate menampilkan data artikel terbaru yang di inputkan kedalam database. Sintaks MySQL untuk menampilkannya adalah seperti dibawah ini :

SELECT * FROM `artikel` ORDER BY `artikelID` DESC LIMIT 1

Perhatikan bahwa ada keterangan DESCENDING (DESC) pada sintaks diatas yang akan memerintahkan MySQL untuk mengambil data yang memiliki ID paling besar terlebih dahulu, sehingga data yang dihasilkan adalah data paling baru ke data paling lama.

3. Menampilkan Data yang dipilih secara ACAK (RANDOM)

Nah di poin ketiga inilah sebenarnya inti dari tutorial kita kali ini. Namun memang sengaja saya menempatkannya di point terakhir, supaya anda bisa melihat perbedaan antara mengambil database secara Ascending, Descending dan Random (Acak). Pada pengambilan kali ini database akan diambil sebanyak yang kita tentukan dan diambil secara acak. Acak artinya data yang diambil akan berubah-ubah setiap sintaks di eksekusi.
 Sintaks MySQL yang dapat kita gunakan adalah seperti di bawah ini :

SELECT * FROM `artikel` ORDER BY RAND() LIMIT 10

Perhatikan bahwa pada query diatas data artikel di order secara random (ORDER BY RAND()) yang akan memerintahkan MySQL untuk mengambil data sebanyak yang kita tentukan namun bukan diurutkan berdasarkan ID, tetapi diambil secara acak. Sehingga data yang dihasilkan akan berbeda setiap query ini kita eksekusi. Dengan kode diatas, kita sudah bisa memecahkan masalah untuk mendapatkan data acak. Mudah buka?? Ya, seperti yang sudah saya jelaskan sebelumnya bahwa trik ini sangatlah mudah, namun sering kali hal yang mudah pun kita bisa lupa ketika kita membutuhkannya.
Sampai disini dulu artikel saya ini, mudah-mudahan bermanfaat bagi anda.

1 Komentar

  1. thanks ya kak udh berbagi ilmu, sngt bermanfaat buat saya yang sedang mempelajari buat blog melalui wordpress menggunakan hosting.

    BalasHapus
Lebih baru Lebih lama