Source Code : Cara mengambil Database MySQL Secara Acak atau Random

Posted on

Tutorial PHP kali ini saya akan membahas bagaimana cara mengambil data secara acak dari database MySQL. Sesungguhnya mengambil database secara acak sesungguhnya sangatlah gampang 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 yaitu artikel yang dipilih menurut random (acak).

Sesungguhnya teknik seperti ini telah lama sekali saya ketahui, namun ketika saya memerlukannya, saya benar-benar lupa bagaimana caranya. Padahal ini betul-betul gampang dan simple. Akhirnya dengan bantuan diantara blog saya menemukan solusinya.

Selain sekedar posting, mungkin ada pun rekan-rekan yang mengalami masalah yang sama dengan sama, dapat terbantu dengan article ini. Misalkankanlah kita mempunyai database MySQL dengan struktur seperti kode dibawah ini dan didalamnya kita telah 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 ;

Merujuk pada database diatas kita dapat menjalankan 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 bikin.

1. Menampilkan Data yang diurutkan berdasarkan ID secara ASCENDING

Data ditampilkan secara Ascending maksudnya data ditampilkan menurut ID dimana data artikel yang ditampilkan yaitu artikel dengan ID sangat kecil, yang artinya artikel sangat lama berada didatabase. Sintaks MySQL bagi menampilkannya yaitu seperti dibawah ini :

SELECT * FROM artikel ORDER BY artikelID LIMIT 10

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

2. Menampilkan Data yang diurutkan berdasarkan ID secara DESCENDING

Menampilkan data secara Descending maksudnya yaitu menampilkan data yang mempunyai ID sangat besar yang berate menampilkan data artikel terbaru yang di inputkan kedalam database. Sintaks MySQL bagi menampilkannya yaitu seperti dibawah ini :

SELECT * FROM artikel ORDER BY artikelID DESC LIMIT 1

Perhatikan bahwa ada keterangan DESCENDING (DESC) di sintaks diatas yang akan memerintahkan MySQL bagi mengambil data yang mempunyai ID sangat besar terlebih dahulu, sehingga data yang diraih yaitu data sangat baru ke data sangat lama.

3. Menampilkan Data yang dipilih secara ACAK (RANDOM)

Nah di poin ketiga inilah sesungguhnya inti dari panduan kita kali ini. Namun memang sengaja saya menempatkannya di point terakhir, supaya sahabat dapat melihat perbedaan antara mengambil database secara Ascending, Descending dan Random (Acak). Di 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 yaitu seperti di bawah ini :

SELECT * FROM artikel ORDER BY RAND() LIMIT 10

Perhatikan bahwa di query diatas data artikel di order secara random (ORDER BY RAND()) yang akan memerintahkan MySQL bagi mengambil data sebanyak yang kita tentukan namun bukan diurutkan menurut ID, tetapi diambil secara acak. Sehingga data yang diraih akan berbeda setiap query ini kita eksekusi. Dengan kode diatas, kita telah dapat memecahkan masalah bagi memperoleh data acak. Gampang buka?? Ya, seperti yang telah saya jelaskan sebelumnya bahwa trik ini sangatlah gampang, namun acap kali hal yang gampang pun kita dapat lupa ketika kita membutuhkannya.
Hingga disini dulu artikel saya ini, mudah-mudahan bermanfaat untuk sahabat.

Leave a Reply

Your email address will not be published. Required fields are marked *