Imam Riyanto tempat berbagi tutorial AJAX, PHP, MySQL, CSS dll
Imam Riyanto

echo"$artikel[judul_artikel]";
Jan 2010
28  

POLLING SEDERHANA dengan PHP MySQL

By imam
  Viewed :519


 Kali ini saya coba berbagi tentang script polling seperti diwebsite ini, Cukup sederhana cara membuatnya. Terlebih dahulu kita buat table database untuk polling , field yang akan digunakan ada 3, yaitu jelek , sedang dan bagus . Untuk mempermudah, tiap field kita isi dengan tipe data integer saja ,dengan panjang 10.

CREATE TABLE `polling` (
`jelek` INT ( 10 ) NOT NULL ,
`sedang` INT ( 10 ) NOT NULL ,
`bagus` INT ( 10 ) NOT NULL
) ENGINE = MYISAM ;

Berikut script untuk membuat form polling berikut hasil pollingnya

koneksi.php

<?
php mysql_connect ( "dbhost" , "dbuser" , "dbpass" ) ;
mysql_select_db ( "dbname" ) ;
?>


polling.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<form action="polling_proses.php" method="post">
<table width="200" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><b>POLLING</b></td>
</tr>
<tr>
<td>
<input type="radio" name="polling" value="jelek">Jelek<br>
<input type="radio" name="polling" value="sedang">Sedang<br>
<input type="radio" name="polling" value="bagus">Bagus
</td>
</tr>
<tr>
<td><input type="submit" value="Submit" name="tombol"></td>
</tr>
</table>
<br>
<?
include"koneksi.php"; //script ini untuk mengkoneksikan tabel yg kita buat didatabase
 
$cek=mysql_query("select * from polling");
$cek_hasil=mysql_fetch_array($cek);
if($cek_hasil[jelek]=="") // karena pada saat pembuatan tabel polling, tiap field datanya masih kosong , maka kita isi tiap field dengan nilai 0.
{
mysql_query("insert into polling(jelek,sedang,bagus) values('0','0','0')"); // mengisi field dengan nilai 0
}
else
{
$query=mysql_query("select * from polling");
$data=mysql_fetch_array($query);
$total=$data[jelek]+$data[sedang]+$data[bagus];
if($total=='0') //karena jumlah total = 0 , berarti masing2 field berisi data = '0'
{
$jelek='0';
$sedang='0';
$bagus='0';
}
else
{
$jelek=($data[jelek]/$total)*100;
$sedang=($data[sedang]/$total)*100;
$bagus=($data[bagus]/$total)*100;
}
}
?>

<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="58"><b>Hasil</b></td>
<td width="142"></td>
</tr>
<tr>
<td>Jelek</td>
<td>: <? printf("%.2lf\n",$jelek);?> %</td>
</tr>
<tr>
<td>Sedang</td>
<td>: <? printf("%.2lf\n",$sedang);?> %</td>
</tr>
<tr>
<td>Bagus</td>
<td>: <? printf("%.2lf\n",$bagus);?> %</td>
</tr>
</table>
<br>
 </form>
</body>
</html>



polling_proses.php

 

<?

ob_start();

include"koneksi.php";

$polling=$_REQUEST['polling'];

$query=mysql_query("select * from polling");

$data=mysql_fetch_array($query);


if($polling=='jelek')

{

$nilai=$data[jelek]+1;

mysql_query("update polling set jelek='$nilai'");

header('Location:polling.php');

}

else if($polling=='sedang')

{

$nilai=$data[sedang]+1;

mysql_query("update polling set sedang='$nilai'");

header("Location:polling.php");

}

else

{

$nilai=$data[bagus]+1;

mysql_query("update polling set bagus='$nilai'");

header("Location:polling.php");

}

ob_end_flush();

?>


Note :
Perintah ob_start dan ob_end_flush untuk mengatasi masalah error pada header . Error pada header bisa dikarenakan "include , session, cookie". Selamat mencoba :D

Share on Facebook
 Komentar Pembaca (8 komentar)
1
@ Rabu, 28-07-2010 jam 21:27:06 by admin
emang beda y? :D, tapi intinya itu sih mba'...kita milih salah satu dari item yg tersedia. CMIIW
2
@ Rabu, 28-07-2010 jam 21:20:35 by Lola
Mas, scripnya untuk VOTTING atau POLLING?
3
@ Selasa, 13-07-2010 jam 08:06:06 by admin
fetch_array? itu untuk mendapatkan data (array) di database dari hasil query, jika ada masalah bisa saya lihat scriptnya?wong_rungkut@yahoo.com
4
@ Senin, 21-06-2010 jam 08:49:24 by selvia
fetch itu apa mas?kug dirunning errornya dibagian ini truz...
5
@ Jumat, 18-06-2010 jam 22:51:32 by admin
bisa saja mas, silahkan dimodif aja bagian jelek,sedang dan bagus (baik didatabase maupun programnya). ntar klo g bisa,nanti saya bantu :D
Previous - 1 -2 - Next

Tulis komentar
---* wajib diisi---
Nama
*
Email
*
Komentar
*
Masukkan kode
*