Sabtu, 21 April 2018

INSERT Data dengan PHP


Setelah kalian mengenal beberapa bentuk perintah SQL untuk memanipulasi atau mengolah data di MySQL, pada post ini kalian akan diperkenalkan bagaimana menerapkan konsep tersebut yang terintegrasi dengan script PHP.

Koneksi PHP ke MySQL 
Sebelum kita membahasnya lebih lanjut tentang inserting data, terlebih dahulu akan disinggung tentang bagaimana caranya melakukan koneksi dari PHP ke MySQL.

Perintah PHP untuk koneksi ke MySQL adalah:
mysql_connect(‘nama host’, ‘nama user’, ‘password’);
mysql_select_db(‘nama db’);

Keterangan:
Nama Host : nama komputer di mana MySQL nya berada, kalo berada di komputer itu sendiri maka nama hostnya: ‘localhost’, bisa juga diberi nomor IP dari komputernya.
Nama User : nama user yang memiliki hak akses ke MySQL nya Password : password dari nama user yang punya hak akses ke MySQL.
Nama DB : nama database yang akan dipilih, Contoh: Berikut ini adalah script untuk melakukan koneksi ke MySQL dengan nama host: localhost, user : root, password: root, dan nama database: contoh Sebaiknya script di atas kita simpan dalam file script tersendiri, misalkan koneksi.php. Selanjutnya script tersebut kita includekan ke dalam script lain yang di dalamnya terdapat query-query SQL.

Menjalankan Query SQL di PHP 

Setelah kita melakukan koneksi dari PHP ke MySQL, selanjutnya kita bisa menjalankan query melalui script PHP. Untuk menjalankan query SQL di PHP, kita gunakan perintah mysql_query(query);
Contoh:
<?php
include "koneksi.php";
$query = "INSERT INTO namaTabel(field1, field2) VALUES(value1, value2) "; mysql_query($query);
?>

Berikut ini contoh script PHP untuk menjalankan query SQL untuk insert data ke tabel MySQL Selanjutnya akan dibahas bagaimana mengimplementasikan konsep inserting data ke MySQL melalui script PHP yang diintegrasikan dengan form input


Studi Kasus
Dalam studi kasus ini akan dicontohkan bagaimana cara membuat form registrasi yang di dalamnya terdapat beberapa jenis komponen input seperti textbox, radiobutton, combo box, checkbox dan textarea. Form tersebut akan diterapkan dalam kasus registrasi peserta suatu seminar secara online. Untuk keperluan tersebut terlebih dahulu kita buat tabelnya.

Nama Tabel : peserta Field
id nama (int); Peserta(varchar(30)); tglLahir(date) ;tmptLahir(varchar(30)); sex (varchar(1)); alamat(text); tglDaftar(date);informasi (text);
Keterangan: Field ‘informasi’ digunakan untuk menyimpan keterangan darimana peserta seminar mendapatkan informasi tentang seminar (dari surat kabar, televisi, atau dari teman). Field ‘id’ diset bertipe data integer dan berupa auto increment. Maksud dari auto increment adalah secara otomatis akan muncul nomor urut begitu data baru dimasukkan ke dalam tabel. Field dengan tipe data DATE, harus berformat YYYY-MM-DD (tahun-bulan-tgl) Selanjutnya kita siapkan form untuk input data peserta seminarnya

FORM INPUT :
Registrasi.php

<html>
<head>
<title>Registrasi</title>
</head>
<body>
<h1>Registrasi Peserta Seminar</h1>
<form method="post" action="submitt.php">
<table>
<tr>
    <td>Nama Lengkap</td><td>:</td><td><input type="text" name="nama" /></td>
</tr>
<tr>
    <td>Alamat</td><td>:</td><td><textarea name="alamat"></textarea></td></tr>
    <tr><td>Tempat  Lahir</td><td>:</td><td><input type="text"  name="tmptLhr" /></td></tr>
    <tr><td>Tanggal Lahir</td><td>:</td> <td>
    <select name="tgl">
    <?php for($i=1; $i<=31; $i++)
    {
        echo "<option value='".$i."'>".$i."</option>";
    }
    ?>
    </select>
    <select name="bln">
    <?php for($i=1; $i<=12; $i++)
    { echo "<option value='".$i."'>".$i."</option>"; }
    ?>
    </select>
    <select name="thn">
    <?php for($i=1950; $i<=1990; $i++)
    { echo "<option value='".$i."'>".$i."</option>"; }
    ?>
    </select>
    </td>
    </tr>
    <tr><td>Jenis Kelamin</td><td>:</td><td>
    <input type="radio" name="sex" value="L" /> Laki-laki <br/>
    <input type="radio" name="sex" value="P" /> Perempuan</td></tr>
    <tr><td>Tahu informasi seminar dari mana?</td><td>:</td><td>
    <input type="checkbox"  name="info1"   value="TV" /> 
    Televisi <br  /><input type="checkbox"name="info2" value="Koran" />
    Surat Kabar<br /><input  type="checkbox" name="info3"  value="Teman" />
    Teman</td></tr>
    <tr><td> </td><td></td><td>
    <input type="submit" name="submit"  value="Submit" /></td></tr>
    </table>
    </form>
    </body>
    </html>


Setelah kita buat form registrasinya, selanjutnya kita buat form untuk proses penyimpanan data pesertanya
              Submitt.php

<?php

include "koneksi.php";
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$tmptLhr = $_POST['tmptLhr'];
$tglLhr = $_POST['thn']. "-".$_POST['bln']. "-".$_POST['tgl'];  
// membentuk format thn- bln-tgl
$sex = $_POST['sex'];
$tglDaftar = date('Y-m-d',strtotime($tglDaftar));
// membaca tanggal sekarang (recent date) format thn-bln-tgl
// menggabungkan informasi darimana peserta mendapatkan info tentang seminar
$info = $_POST['info1']. " ".$_POST['info2']. " ".$_POST['info3'];
$query = "INSERT INTO peserta (namaPeserta, tglLahir, tmptLahir, sex, alamat, tglDaftar, informasi)
VALUES ('$nama', '$tglLhr', '$tmptLhr', '$sex', '$alamat', '$tglDaftar', '$info' )";
$hasilQuery = mysql_query($query);
if ($hasilQuery) echo "Data sudah tersimpan ke database";
else echo "Penyimpanan data gagal";
?>

Lalu membuat database di MySQL seperti arahan soal :


Nah bias kita cobaa ya program registrasi.php nya!
Nanti tampilannya akan jadi seperti ini :

Klik submit
lalu,

Cek database-nyaa


Tugas Untuk Anda 

1. Buatlah form untuk keperluan pengisian buku tamu (guestbook) dengan data yang diisikan sbb:
Nama pengisi
Email 
Situs Web 
Komentar
Buat pula sebuah tabel dalam database untuk menyimpan data isian buku tamu tersebut dengan field sbb:

tersebut dengan field sbb: 

Id                                integer            auto increment Primary Key
Nama                         varchar(30)
Email                         varchar(30)
Website                      varchar(30)
Tanggal                       date
Komentar                    text

Keterangan:
Field ‘tanggal’ digunakan untuk menyimpan informasi tanggal kapan komentar tersebut dikirim (tanggal ini secara otomatis membaca tanggal ketika komentar buku tamu disubmit)

                                                                 Bukutamu database


Membuat koneksi MySQL agar terhubung dengan PHP

save as : koneksi2.php

<?php
mysql_connect('localhost','root','');
mysql_select_db('Bukutamu');
?>


save as : registrasi2.php

<html>
<head>
<center>
<title>OUR WEDDING GUESTBOOK</title>
</head>
<body>
<h1>OUR WEDDING GUESTBOOK</h1>
<form method="post" action="submitt2.php">
<table>
<tr>
    <td>Name</td>
    <td>:<input type="text" name="nama" /></td>
</tr>
<tr>
    <td>Email</td>
    <td>:<input type="text" name="email"></textarea></td>
</tr>
<tr>
    <td>Website</td>
    <td>:<input type="text" name="web" /></td>
</tr>
<tr>
    <td>Text your comment here</td>
    <td>:<textarea name="comment"></textarea></td>
</tr
<tr>
    <td></td>
    <td><input type="submit" name="submit"  value="Submit" /></td>
</tr>
    </table>
    <center>
    </form>
    </body>
    </html>

save as : submitt2.php

<?php
include "koneksi2.php";
$Nama = $_POST['nama'];
$Email = $_POST['email'];
$Website = $_POST['web'];
$Comment = $_POST['comment'];  
$Tglkomen = date("Y-m-d");
//////////////////////////////////////
$query = "INSERT INTO guestbook(Nama, Email, Web, Tanggal, Komentar)
VALUES ('$Nama', '$Email' , '$Website' , '$Tglkomen' , '$Comment' )";
$hasilQuery = mysql_query($query);
if ($hasilQuery) echo "Welcome and Enjoy Our Wedding Party! Follow us @Weddingalala_ ";
else echo "We need your attention to submit data seriously, thanks";
?>


//////////////Tampilannya nanti kaya gini ///////////


jalankan program registrasi2.php



Isi form lalu klik submit


Apabila tampilannya seperti ini maka data berhasil terupload ke database


Cek database buku tamu, guestbook





1 komentar: