Hai, Kembali lagi dengan saya Boy Panjaitan.
Kali ini saya akan memberikan tutorial yang berhubungan dengan PHP. Yap disini kita akan membuat sistem voting baik untuk adminnya maupun anggotanya.
Oke, karena tutorial ini akan cukup panjang jadi, kita tidak perlu bertele-tele lagi.
Disini konsepnya kita akan membuat satu halaman untuk admin yang akan membuat Voting dan Anggota yang akan berpartisipasi
Pertama kita buat sistem untuk Adminnya.
Disini saya akan menggunakan framework Bootstrap untuk designnya. Bisa didownload langsung di http://www.bootstrap.com . Kemudian kita akan membuat dua tabel database, 1 untuk votingnya dan 1 lagi untuk responden
Kita buat database pertama, Disini saya menggunakan XAMPP untuk databasenya. Jika anda sudah mengerti cara membuat tabel databasenya bisa langsung diskip saja tahap ini, namun bagi yang belum tau bisa dipelajari
Untuk membuat tabelnya pertama kita buat databasenya contohkan saja namanya 'vot'
- jalankan control panel XAMPP
- masuk ke phpmyadmin, dengan memasukan alamat di browser anda localhost/phpmyadmin
- lihat disebelah kiri daftar database yang sudah ada, kemudian pilih new
- isi nama databasenya tadi vot
- sekarang database kita sudah berhasil dibuat, lihat didaftar sebelah kiri nama database yang kita buat tadi
- klik pada database itu, kemudian akan muncul form create table
- disini kita buat table, misalkan namanya polling.
- untuk column nya kita buat 7 kemudian klik go
- isi field nya seperti berikut (buat persis seperti yang saya buat)
1. nomor (type 'int') (index 'PRIMARY') (A_I 'cheklist')
2. isi (type 'text')
3. sangat_baik (type 'int') (length '2')
4. baik (type 'int') (length '2')
5. sedang (type 'int') (length '2')
6. buruk (type 'int') (length '2')
7. aktif (type 'varchar') (length '1')
untuk penyetingan database sudah selesai, sekarang kita beralih ke koding. kita akan membuat file php, kita buat koneksi kedatabasenya terlebih dahulu
<?php $server=mysql_connect("localhost","root",""); $db=mysql_select_db("vot"); ?>
Kemudian kita buat tampilan halamannya untuk Admin
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="description" content=""> <meta name="author" content=""> <title>Situsduabe | Official Website for CE-2B</title> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> </head> <body> <nav class="navbar navbar-default" id="atas"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" style="background:#fff;color:black;" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="true"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.php">Polling</a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="index.php">Admin</a></li> <li><a href="anggota.php">Anggota</a></li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <div class="container"> <center><h1>Halaman Administrator Polling</h1></center><hr> <div class="well"> <h2>Buat voting baru</h2><hr> <form action="" method="post"> <div class="row" style="margin-bottom:20px"> <div class="col-lg-2 col-xs-12">Judul</div> <div class="col-lg-10 col-xs-12"> <textarea name="isi" class="form-control"></textarea> </div> </div> <div class="row"> <div class="col-lg-2 col-xs-12">Status</div> <div class="col-lg-10 col-xs-12"> <select name="status"> <option value="T">Tidak Aktif</option> <option value="A">Aktif </option> </select> <p><p> <input type="submit" name="sub" class="btn btn-success" value="Simpan"> </div> </div> </form> </div> </div> <script src="js/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Pada script diatas kita sudah membuat form untuk pembuatan voting baru, untuk voting bisa dipilih statusnya antara aktif atau tidak. Kemudian kita akan membuat script untuk memasukkan data ke server.
<?php if($_POST["sub"]){ mysql_query("insert into polling values('','".$_POST["isi"]."','','','','','".$_POST["status"]."')"); } ?>
setelah itu kita akan menampilkan voting yang tersedia dalam bentuk tabel
<?php echo "<table class='table table-bordered'>"; echo "<tr class='info'> <td>Isi</td> <td>Sangat Baik</td> <td>Baik</td> <td>Sedang</td> <td>Buruk</td>"; $table=mysql_query("select * from polling order by nomor desc"); while($dbtable=mysql_fetch_assoc($table)){ echo "<tr> <td>".$dbtable["isi"]."</td> <td>".$dbtable["sangat_baik"]."</td> <td>".$dbtable["baik"]."</td> <td>".$dbtable["sedang"]."</td> <td>".$dbtable["buruk"]."</td>"; } echo "</table>"; ?>
Kita telah selesai untuk Admin, kemudian kita akan mulai dengan membuat tampilan untuk Anggota yang akan memilih polling
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="description" content=""> <meta name="author" content=""> <title>Situsduabe | Official Website for CE-2B</title> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> </head> <body> <nav class="navbar navbar-default" id="atas"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" style="background:#fff;color:black;" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="true"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.php">Polling</a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="index.php">Admin</a></li> <li><a href="anggota.php">Anggota</a></li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <div class="container"> <center><h1>Responden Voting</h1></center><hr> <?php $data=mysql_query("select * from polling where aktif='A'"); $dbdata=mysql_fetch_assoc($data); echo "<div class='well'> ".$dbdata["isi"]."<p><p> <form action='' method='post'> <input type='radio' id='sb' name='pilih' value='sb'> <label for='sb'>Sangat Baik</label><br> <input type='radio' id='b' name='pilih' value='b'> <label for='b'>Baik</label><br> <input type='radio' id='s' name='pilih' value='s'> <label for='s'>Sedang</label><br> <input type='radio' id='br' name='pilih' value='br'> <label for='br'>Buruk</label><br><p><br> <input type='submit' name='subvot' value='Selesai' class='btn btn-warning btn-sm'> </form> </div>"; ?> </div> </body> </html>
Pada script diatas kita menyisipkan sedikit script PHP yang berfungsi untuk mengambil data dari database, yang mana data itu adalah voting yang berstatus aktif
kemudian kita akan membuat script untuk pengiriman hasil voting yang dilakukan anggota
<?php if($_POST["subvot"]){ if($_POST["pilih"]!=""){ $hvot=mysql_query("select * from polling where aktif='A'"); $dbhvot=mysql_fetch_assoc($hvot); if($_POST["pilih"]=="sb"){ $j=$dbhvot["sangat_baik"]+1; mysql_query("update polling set sangat_baik='".$j."'"); } if($_POST["pilih"]=="b"){ $j=$dbhvot["baik"]+1; mysql_query("update polling set baik='".$j."'"); } if($_POST["pilih"]=="s"){ $j=$dbhvot["sedang"]+1; mysql_query("update polling set sedang='".$j."'"); } if($_POST["pilih"]=="br"){ $j=$dbhvot["buruk"]+1; mysql_query("update polling set buruk='".$j."'"); } ?> <script> window.location="?menu=akun&submenu=profile"; </script> <?php } } ?>
Oke, sekarang kita sudah selesai, pada script ini kita akan mengambil data dari database yaitu jumlah votingannya. jadi setiap anggota melakukan voting maka data itu akan ditambahkan satu, dan begitu seterusnya