Dapatkan 'Easy Gammu Installer' - Cara Mudah Install Gammu + Ebook Gammu
Ingin Punya Script SMS Gateway dengan PHP + MySQL?

Dapatkan segera phpSMS V3.0, software SMS Gateway multi fungsi berbasis web buatan saya sendiri untuk keperluan Anda.
[Info Lengkap...]

Membuat Script PHP untuk Randomize Secara Periodik


March 7th, 2009 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

Artikel ini merupakan request dari salah satu member saya, mas Zainal. Thanks mas atas requestnya :-) Mas Zainal ini bertanya bagaimana cara membuat script untuk merandom data dari database namun secara periodik, misalkan dalam jangka waktu 1 hari atau n hari.

Untuk pembahasan ini, kita buat contoh studi kasus saja misalkan untuk keperluan menampilkan random quote (pesan acak) seperti yang pernah saya jelaskan dalam artikel sebelumnya. Namun pada artikel tersebut, quote akan dirandom setiap saat begitu script tersebut diakses bukan pada periodik tertentu. Nah… sekarang kita coba untuk membuat script random quote yang mengacak secara periodik.

Ide untuk membuatnya adalah sederhana yaitu selain kita buat tabel berisi data yang akan dirandom, kita juga membuat semacam penyimpanan untuk menyimpan data waktu terakhir kapan proses pengacakan dilakukan. Setiap kali proses pengacakan dilakukan, maka data waktu terakhir ini akan terupdate secara otomatis. Data waktu ini akan digunakan sebagai parameter untuk pengaturan periodik proses randomnya. Data waktu ini dapat Anda simpan menggunakan database atau melalui file teks. Dalam contoh ini, kita akan gunakan database untuk menyimpan waktu random terakhirnya.

OK… kita mulai membuatnya. Pertama kita siapkan tabel-tabel yang dibutuhkan terlebih dahulu. Untuk tabel yang digunakan menyimpan quotesnya, kita gunakan tabel yang sama seperti pembahasan sebelumnya saja yah..

Selanjutnya kita perlu membuat tabel untuk menyimpan waktu terakhir proses update. Cukup gini saja tabelnya

CREATE TABLE lastRandom (
id INT,
tanggal DATE
)

Field ‘id’ digunakan untuk menyimpan nomor id dari quote yang terpilih secara random sebelumnya. Sebagai inisialisasi, sebaiknya kita isikan salah satu no. id di antara quote yang ada dan untuk field tanggalnya, kita sisipkan saja tanggal hari ini (current date).

INSERT INTO lastRandom VALUES(1, CURDATE());

Sekarang… kita mulai membuat scriptnya. Eh… tapi enaknya kita sedikit modifikasi sedikit saja ya script pada random quote yang ada di artikel sebelumnya.

Trus.. idenya bagaimana ya supaya proses mengacak quotenya dalam periodik tertentu, misalnya setiap periode n hari. Idenya cukup sederhana, yaitu kita hanya mencari selisih antara current date (tanggal saat ini) dengan tanggal terakhir proses random yang tersimpan dalam database. Jika selisih harinya lebih besar atau sama dengan n hari, maka proses acak quote dilakukan. Nomor id yang ada di tabel lastRandom kita update dengan id dari quote hasil proses random. Sedangkan untuk field tanggal, kita update dengan tanggal ketika proses randomnya.

Bagaimana cara mencari selisih hari? Kita bisa gunakan query SQL dengan memanfaatkan function DATEDIFF().

random.php

<?php
mysql_connect("host", "user", "pass");
mysql_select_db("dbname");

$interval = 1; // setting periodik randomize dalam waktu 1 hari

// membaca record dalam tabel 'lastRandom'

$query = "SELECT * FROM lastRandom";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);
$tglLastRandom = $data['tanggal'];

// mencari selisih current date dengan tanggal last random
$query = "SELECT DATEDIFF(CURDATE(), '$tglLastRandom') AS selisih";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);

// jika selisih hari >= interval, maka lakukan random dan update tabel 'lastRandom'

if ($data['selisih'] >= $interval)
{
   // proses random untuk memilih quote
   $query = "SELECT * FROM tabelQuotes ORDER BY RAND()";
   $hasil = mysql_query($query);
   $data  = mysql_fetch_array($hasil);
   $idQuote = $data['id'];

   // update tabel 'lastRandom'

   $query = "UPDATE lastRandom SET id = $idQuote, tanggal = CURDATE()";
   mysql_query($query);
}

// tampilkan quote hasil random berdasarkan id quote terakhir hasil random

$query = "SELECT * FROM lastRandom";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);
$idQuote = $data['id'];

$query = "SELECT * FROM tabelQuotes WHERE id = $idQuote";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);

echo "Pesan saat ini : ".$data['quote'];

?>

That’s all… mudah bukan membuatnya. Bagaimana bila data last random nya disimpan dalam file teks? dan bukannya menggunakan databae? Silakan Anda bereksperimen sendiri ya… Anda dapat menerapkan penjelasan di atas pada proses random image.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?



Beberapa artikel terkait


Share this article on:

Kata kunci: PHP - random - script -


Ada 10 komentar dalam artikel ini.

  1. putrirana says:

    selamat siang mas..
    saya mau tanya dong.. gmn caranya bikin aplikasi kuesioner evaluasi dosen secara online.
    karena kebetulan saya sedang mengerjakan skripsi saya…
    thanx sblmnya..
    saya sangat mengharapkan bimbingan dari mas…
    :)

  2. januar says:

    mas, saya mau tanya artikel mas ttng script php penjumlahan,mas gmana caranya membuat penjumlahan tanpa kita menekan submit contoh:
    form1 kita isi angka 1
    form2 kita isi angka 2
    form3 langsung otomatis menunjukan totalnya 3

  3. januar says:

    tolong kalau bisa kirm ke email saya termakasih mas

  4. rosihanari says:

    to januar: ya.. gunakan javascript atau AJAX mas…

  5. januar says:

    mas,tolong dong solusinya tentang scripnya?

  6. rosihanari says:

    to januar: silakan cari tutorial Javascript saya di sini mas.

  7. januar says:

    syukron mas,saya coba dulu mas,mudah2an ilmu mas bermanfaat buat siswa saya disekolah

  8. fauzi says:

    pak salam kenal

  9. firman says:

    Maksih banyak mas atas Share ilmu ny…
    Semoga bermanfaat..
    .-= firman´s last blog ..Relung -relung yang Hampa =-.

  10. rosihanari says:

    @firman: sama-sama mas firman. Ditunggu kunjungan berikutnya ya…



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word