Skip to content
Follow us on Twitter or subscribe to this
website by email or with the RSS feed

Ayo Belajar Bikin Aplikasi Polling, Bag. 3

Kita telah membahas bagaimana tampilan editor yang berfungsi untuk menambah dan mengedit pertanyaan pada polling. Nah, sekarang saatnya kita bicarakan bagaimana menampilkan polling tersebut kepada pengunjung.

Tidak seperti bagian editor yang hanya bisa diakses oleh administrator, bagian pertanyaan dan hasil polling bisa diakses oleh semua pengunjung tanpa harus melalui prosedur login.

Ada dua tampilan yang akan kita buat, yaitu bagian untuk menampilkan pertanyaan dan satu lagi untuk melihat hasil dari polling tersebut.

Tampilan Pertanyaan

Bagian ini berisi pertanyaan atau topik polling yang disertai dengan beberapa pilihan jawaban. Pengunjung yang ingin mengikuti polling bisa memilih salah satu alternatif jawaban lalu mengklik tombol Pilih.

Gambarnya bisa Anda lihat dibawah ini.

polling

Setiap pilihan jawaban bernilai 1. Jadi pada waktu pengunjung memilih jawaban tersebut maka jumlah pemilih untuk jawaban yang dipilih tersebut akan bertambah satu.

File: C:\website\polling\index.php

<?php
include ("koneksi.php");

if ($_POST)
{
   $topik_id = $_POST['topik_id'];
   $pilihan_jawaban_id = $_POST['pilihan_jawaban_id'];
   $tmp = @mysql_fetch_assoc(@mysql_query ("select * from pilihan_jawaban where topik_id=" . $topik_id . " and pilihan_jawaban_id=" . $pilihan_jawaban_id));
   if (empty($tmp['jumlah_pemilih'])) $jumlah_pemilih = 1;
   else $jumlah_pemilih = $tmp['jumlah_pemilih'] + 1;
   @mysql_query("update pilihan_jawaban set jumlah_pemilih=" . $jumlah_pemilih . " where topik_id=" . $topik_id . " and pilihan_jawaban_id=" . $pilihan_jawaban_id);
   header('Location:index.php');
}

$topik = @mysql_fetch_assoc(@mysql_query ("select * from topik order by topik_id desc limit 1"));
$pilihan = @mysql_query ("select * from pilihan_jawaban where topik_id=" . $topik['topik_id']);
?>

<html>
<head>
<title>Aplikasi Polling</title>
</head>
<body>
<h2>Polling</h2>
<p><?php echo $topik['pertanyaan'] ?></p>
<form method="post">
<input type="hidden" name="topik_id" value="<?php echo $topik['topik_id'] ?>" />
<table>
<?php $i = 0; while ($row = @mysql_fetch_assoc($pilihan)) { $i++; ?>
   <tr>
      <td><input type="radio" name="pilihan_jawaban_id" value="<?php echo $row['pilihan_jawaban_id'] ?>" /></td>
     <td><?php echo $row['jawaban'] ?></td>
   </tr>
<?php } ?>
</table>
<p><input type="submit" value="Pilih" /> <a href="hasil.php?topik_id=<?php echo $topik['topik_id'] ?>">Lihat Hasil</a></p>
</form>
</body>
</html>

Tampilan Hasil Polling

Ada beberapa alternatif untuk menampilkan hasil polling, yaitu dengan grafik (batang, pie chart, dsb) dan angka. Pada artikel ini saya hanya akan menggunakan angka saja agar lebih mudah dipahami.

Berikut ini adalah tampilan hasil polling tersebut.

hasil_polling

File: C:\website\polling\hasil.php

<?php
include ("koneksi.php");
$topik = @mysql_fetch_assoc(@mysql_query ("select * from topik where topik_id=" . $_GET['topik_id']));
$tmp = @mysql_fetch_assoc(@mysql_query ("select sum(jumlah_pemilih) total from pilihan_jawaban where topik_id=" . $_GET['topik_id']));
$total_pemilih = $tmp['total'];
$pilihan = @mysql_query ("select * from pilihan_jawaban where topik_id=" . $_GET['topik_id']);
?>

<html>
<head><title>Hasil Polling</title></head>
<body>
<h2>Hasil Polling</h2>
<p><?php echo $topik['pertanyaan'] ?></p>
<table border="1" width="350">
<?php $i = 0; while ($row = @mysql_fetch_assoc($pilihan)) { $i++; ?>
   <tr>
      <td width="20"><?php echo $i ?></td>
      <td><?php echo $row['jawaban'] ?></td>
      <td width="80"><?php echo $row['jumlah_pemilih'] ?> (<?php echo sprintf("%01.1f", $row['jumlah_pemilih'] / $total_pemilih * 100) ?> %)</td>
   </tr>
<?php } ?>
   <tr>
      <td colspan="3">Total Pemilih : <?php echo $total_pemilih ?></td>
   </tr>
</table>

<p><a href="index.php">Kembali ke Topik Polling</a></p>
</body>
</html>

Selamat mencoba.

Source Code

  Aplikasi Polling (5.1 KiB)


Post to Twitter Tweet This Post to Delicious Delicious Post to Digg Digg This Post to Facebook Facebook Post to MySpace MySpace Post to StumbleUpon Stumble This

Artikel Terkait:

POST BANNER

Bagaimana Komentar Anda?

Monggo kalau Anda mau mengomentari tulisan di atas! Bertanya atau mengkritik juga boleh, tapi jangan terlalu menyakitkan :).

  • ayu trisna | August 30th, 2009 jam 2:35 pm

    Selamet sore,

    mas saya mau tanya nie… kalau bikin polling nya dengan format : katakuncipilihanpolling bisa dibuat dengan php tidak mas??? bagaimana caranya…??? mohon bimbingannya. terima kasih banyak.

    thanks,
    ayu

  • angga | May 11th, 2010 jam 10:08 pm

    databasenya gmn nh gan?

  • Rizal | May 22nd, 2010 jam 9:00 am

    kalau di polling nya dibatasi misalnya hanya boleh satu kali vote tidak boleh lebih , bagaimana yak ???

  • Wahyu Wibowo | May 28th, 2010 jam 6:41 am

    Bisa, pakai session.

Tinggalkan Pesan