Menampilkan hasil query secara acak di PHP dan MySQL


Photobucket Menampilkan hasil secara acak terkadang diperlukan untuk menampilkan sesuatu yang dinamis. Contohnya random post untuk menampilkan daftar artikel secara acak, jadi setiap kali page direfresh maka artikel yang di lihat user akan selalu berbeda. Caranya adalah dengan memberikan statemet “order by RAND()” pada statement SQL.
Berikut ini adalah contohnya :

  1. Buat Database dengan nama dbRandom, dan tabel tbl_post di MySQL dengan spesifikasi sebagai berikut :
    post_bodyTEXT

    Field Tipe Data Ukuran Keterangan
    post_id int 3 primary key, auto increment
    post_title Varchar 255
    post_body TEXT

    Isikan Minimal 5 record !!!

  2. Kode MySQL :
    SELECT post_title FROM tbl_post ORDER BY RAND() LIMIT 3
    

    Maksud kode di atas adalah tampilkan hanya 3 post_title secara acak

  3. Implementasi di PHP :
    koneksi.php

    <?php //Koneksi Ke Database dan Pilih Database
    	$host="localhost";			//Host Server anda
    	$user="root";				//Username Host Server
    	$pass="suwandiz";			//Password Host Server
    	$db="dbRandom";			// Nama Database
    
    	$conn=mysql_connect($host,$user,$pass) or die("No Koneksi !!!");		//Koneksi ke MySQL jika tidak ada tampilkan no koneksi
    
    	mysql_select_db("$db") or die("No Database !!!"); 						//Pilih Database jika tidak ada tampilkan No Database
    ?>
    

    random_post.php

    <?php
    	include_once "koneksi.php";	//sertakan file koneksi.php untuk koneksi DB
    
    	$query=mysql_query("SELECT post_id,post_title FROM tbl_post ORDER BY RAND() LIMIT 3") or die ("Invalid Query !!!");
    
    	while($hasil=mysql_fetch_array($query))
    	{	//Tampilkan hasilnya secara acak dan link ke lihat_artikel.php berdasarkan id masng-masing artikel
    		echo "<a href='lihat_artikel.php?id=".$hasil['post_id']."'>".$hasil['post_title']."</a> <br />";
    	}
    
    	mysql_close($conn);	//tutup koneksi
    ?>
    

    lihat_artikel.php

    <?php
       include_once "koneksi.php";
    
       $id=$_GET['id'];		//Menampung id yang dikirm dari random_post
    
       //Tampilkan id dan title dari artikel dimana id= id yang dikirmkan lewat link di random post
       $query=mysql_query("SELECT post_id,post_body FROM tbl_post WHERE post_id='$id'") or die ("Invalid Query !!!");
    
       $hasil=mysql_fetch_array($query);
       echo "<p>".$hasil['post_body']."</p>";	//menampilkan post_body dalam paragraf
    
       mysql_close($conn);	//tutup koneksi
    ?>
    
  4. Coba refresh beberapa kali random_post.php. Pasti artikel yang ditampilkan berbeda/acak kan ??? hehehe :)NB : cara ini pun bisa dipakai di bahasa pemrograman manapun teramasuk C# dan VB.Net walaupun codingnya berbeda tapi statement SQLnya sama.
Photobucket     Photobucket

Password : belajarbuatprogram.wordpress.com

About Wendi
An Extraordinary man wannabe. add my FB : https://www.facebook.com/wendi.octavious

3 Responses to Menampilkan hasil query secara acak di PHP dan MySQL

  1. Pingback: Membuat Virtual Host Apache di Windows « belajarbuatprogram

  2. iyya says:

    ka bisa tolong buatin script php untuk saat gambar di klik akan muncul keterangan gambar itu sendiri n halaman sebelumnya transaran di belakangnya. berhubung butuh cepat tolong dibuat secepatnya ya ka. thx ka

Leave a reply to iyya Cancel reply