Page Nav

HIDE

Grid

GRID_STYLE

Breaking News

latest

Membuat Aplikasi Polling dengan PHP

Aplikasi Polling banyak terdapat di situs-situs internet, terutama situs-situs dalam negeri. Tema yang diangkat cukup beragam, seperti Huk...


Aplikasi Polling banyak terdapat di situs-situs internet, terutama situs-situs dalam negeri. Tema yang diangkat cukup beragam, seperti Hukum, Militer, Politik, bahkan sampai Gosip. Situs-situs yang bernuansa khusus juga seringkali memiliki Polling sesuai dengan nuansa yang dimilikinya. Misalnya situs sepakbola akan mengangkat Polling siapa pemain terbaik di suatu liga, situs tentang Linux akan mengangkat Polling tentang distro apa yang paling favorit, situs handphone akan mengangkat Polling tentang ringtone favorit, dan masih banyak lagi.
Nah, sekalipun tema yang diangkat bisa bermacam-macam, namun pada dasarnya aplikasi Polling cukup mudah untuk dibuat. Umumnya aplikasi Polling hanya terdiri dari 2 halaman saja, yaitu form HTML yang berisi item-item pilihan dan hasil dari Polling tersebut. Hasil Polling dapat ditampilkan dengan bantuan HTML biasa atau dengan suatu aplikasi yang dapat menghasilkan gambar-gambar yang menarik sehingga hasil Polling dapat ditampilkan dalam bentuk pie chart misalnya. Untungnya, PHP juga dapat digunakan untuk menghasilkan gambar.
Untuk sementara kita akan membahas tampilan hasil Polling yang memanfaatkan HTML biasa karena pembahasan mengenai menggambar dengan PHP belum sempat diberikan. Pada artikel selanjutnya kita akan membahas mengenai dasar-dasar menggambar dengan PHP dan setelah itu kita akan sempurnakan aplikasi Polling ini dengan tampilan berbentuk Pie Chart.
Untuk menyimpan hasil Polling diperlukan database, sehingga aplikasi ini juga akan menggunakan MySQL.
Aplikasi Polling yang kita buat kali ini akan mengangkat tema Capres 2009. Mengapa bukan tema yang berbau komputer? Distro Linux favorit misalnya? Yah, semata-mata hanya untuk “having fun” saja agar otak kita nggak berisi komputer melulu ;D.
Mula-mula kita persiapkan dahulu databasenya. Kita akan buat database baru bernama polling sebuah tabel bernama tbl_datapoll yang berisi tiga buah kolom yaitu “nama” dan “suara”. Langkah-langkahnya adalah sebagai berikut:
mysql> create database polling;
mysql> use polling
Database changed
mysql> create table tbl_datapoll(
-> nama varchar(30),
-> suara smallint(3);
Query OK, 0 rows affected (0.05 sec)
Sebagai nilai awal kita isikan dahulu beberapa data sebagai berikut:
Nama Suara
SBY 101
JK 23
Mega  27
Setelah database disiapkan, sekarang kita buat halaman form yang berisi item-item pilihan. Script dari halaman item pilihan adalah sebagai berikut:
<HTML>
<HEAD>
<TITLE> Polling Politik </TITLE>
</HEAD>
<BODY>
<H1> Polling </H1>
<H2> Pilih Capres dan Cawapres  Anda </H2>

<FORM NAME="polling" METHOD="post" ACTION="hasil_polling.php">
<?php
$host = "localhost";
$user = "root";
$passwd = "root";
$conn = @mysql_connect($host,$user,$passwd)
    or die("Koneksi gagal: " . mysql_error());
mysql_select_db("polling",$conn);
$strSQL = "select nama from tbl_datapoll";
$qry = @mysql_query($strSQL,$conn)
    or die("Query salah: " . mysql_error());
while ($row = mysql_fetch_array($qry)) {
echo '<INPUT TYPE="radio" NAME="capres" VALUE="'.$row['nama']. '">  '.$row['nama']. '';
echo '<br />';
} ?>
<br />
<INPUT TYPE="submit" VALUE="VOTE!">
</FORM>
</BODY>
</HTML>
Berilah nama skrip ini dengan polling.php.
Item-item pilihan yang terdapat pada halaman ini diambil dari record-record pada field “nama” tabel tbl_datapoll. Dengan demikian jika isi dari field nama diubah, otomatis item pilihan tersebut akan ikut berubah, sehingga memudahkan Anda untuk berganti tema Polling.
Jika Anda klik tombol “VOTE!”, maka data-data pada form ini akan diolah di halaman hasil_polling.php. Nah, inilah isi skrip file hasil_polling.php.
<HTML>
<HEAD>
<TITLE> Hasil Polling </TITLE>
</HEAD>
<BODY>
Hasil Polling adalah sebagai berikut: <br /> <br />
<?php
$host = "localhost";
$user = "root";
$passwd = "root";
$capres = $_POST['capres'];
$conn = @mysql_connect($host,$user,$passwd)
    or die("Koneksi gagal: " . mysql_error());
mysql_select_db("polling",$conn);

// mengupdate suara
$strSQL = "update tbl_datapoll set suara = suara + 1 where nama='$capres";
$upd = @mysql_query($strSQL,$conn)
    or die("Query salah: " . mysql_error());

// menghitung total suara
$strSQL = "select sum(suara) from tbl_datapoll";
$totsuara = @mysql_query($strSQL,$conn)
    or die("Query salah: " . mysql_error());

// menampilkan hasil dengan
// bantuan tabel HTML
echo "<TABLE>";

$strSQL = "select * from tbl_datapoll";
$qry = @mysql_query($strSQL,$conn)
    or die("Query salah: " . mysql_error());

while ($row = mysql_fetch_array($qry)) {
    echo "<TR>";
    echo "<TD> $row[nama] </TD>";
    echo "<TD>";
    $pct = $row["suara"]/$totsuara;
    echo "<IMG src='bar.gif' HEIGHT='10' WIDTH='$pct'>";
    echo "</TD>";
    echo "<TD> $row[suara] </TD>";
    echo "</TR>";
}
echo "</TABLE>";
?>
</BODY>
</HTML>
Pada dasarnya isi skrip ini adalah menghitung jumlah total suara, kemudian mengambil seluruh data Polling dari database dan kemudian menampilkannya dengan bantuan tabel HTML. Jumlah total suara diperlukan untuk menghitung persentase dari suara masing-masing item pilihan. Persentase ini nantinya digunakan untuk menentukan lebar gambar bar.gif. Gambar bar.gif ini hanya gambar balok biasa dan dapat dibuat dengan Photoshop atau Corel Draw! Dengan demikian semakin besar jumlah suara di suatu item, maka gambar baloknya akan semakin lebar.
Anda dapat menambahkan sedikit skrip JavaScript untuk mencegah agar pemilih tidak dapat men-submit form sebelum dia memberikan suaranya.
Tentunya akan lebih menarik apabila hasil Polling diberikan dalam bentuk pie chart. Untuk artikel selanjutnya kita akan membahas menggambar dengan PHP dan setelah itu kita akan sempurnakan aplikasi Polling ini, selamat mencoba untuk menampilkan hasilnya.

Tidak ada komentar