-->
6/Tutorial/slider
Showing posts with label Database. Show all posts

Memasukkan Record ke Banyak Tabel dari Satu Form

6 comments
Hari ini saya mau berbagi tips untuk memasukkan data (record) ke banyak tabel atau istilahnya multiple table dari satu form. Contoh saya buat kasus seperti ini:

Saya misalkan di sebuah website ada kolom feedback dari pengunjung. Nah, pada bagian feedback pengunjung ini saya misalkan ada 4 form yang harus diisi.
1. Form Nama
2. Form Email
3. Form Subjek
4. Form Pesan / Masukan

Form ke 1 dan 2 ingin saya masukan ke tabel 'pengunjung'. Lalu form ke 3 dan 4 saya masukan ke tabel 'feedback'.
Seperti itulah kasusnya. Nah sekarang langsung ke langkah-langkahnya:
1. Buat database dengan nama bebas. Disini saya buat dengan nama "Tes"
2. Buat tabel "pengunjung" dan "feedback" pada database yang telah dibuat tadi. Saya anggap sudah bisa dalam pembuatan tabel ini..
3. Pada tabel pengunjung buat 3 field, yaitu "id", "nama" dan "email"
4. Pada tabel feedback buat 3 field juga, yaitu "id", "subjek", dan "pesan"
5. Jika sudah buat tabel, sekarang ke pembuatan formnya. Buat dengan nama 'form.html' dengan script seperti berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Feedback</title>
</head>

<body style="margin:50px 25% 0px 25%;">
 <h1>Feedback</h1>
 <form method="post" action="pengolah.php">
       Nama <br><input name="nama" type="text" size="50"><br><br>
    Email <br><input name="email" type="text" size="50"><br><br>
    Subjek <br><input name="subjek" type="text" size="50"><br><br>
    Pesan <br><textarea name="pesan" style="height:250px; width:675px;"></textarea><br><br>
    <p style="text-align:right;"><input type="submit" value="Kirim Pesan"></p></form>
    </form>
</body>
</html>


6. Setelah form dibuat maka sekarang buat file php yang mengkoneksikan ke database dan memasukkan datanya. Karena pada script form diatas actionnya ke "pengolah.php", maka kita buat file php ini dengan nama "pengolah.php". Berikut scriptnya:
<?php

// koneksi ke database
$user = 'root';
$pass = '';
$dbh = new PDO ('mysql:host=localhost;dbname=tes', $user,$pass);

// Memberi variabel pada data yg didapat dari form
$nama = $_POST["nama"];
$email = $_POST["email"];
$subjek = $_POST["subjek"];
$pesan = $_POST["pesan"];

// kondisi jika salah satu form ada yang tidak diisi
if ($nama == "" || $email == "" || $subjek == "" || $pesan == "") {echo "ada yg belum diisi";}

// kondisi selain if di atas
else {
 $sql = "INSERT INTO pengunjung (nama,email) VALUES (:nama,:email)"; // Perintah memasukkan nama dan email ke tabel pengunjung
 $stmnt = $dbh->prepare($sql);
 $stmnt->execute(array(':nama'=>$nama,':email'=>$email));
 $sql2 = "INSERT INTO feedback (subjek,pesan) VALUES (:subjek,:pesan)"; // Perintah memasukkan subjek dan pesan ke tabel feedback
 $stmnt = $dbh->prepare($sql2);
 $stmnt->execute(array(':subjek'=>$subjek,':pesan'=>$pesan));
 echo "pesan telah terkirim";} // Tulisan yang ditampilkan jika sukses
?>

Disini saya menggunakan PDO untuk koneksi ke database-nya. Saya tidak akan menjelaskan PDO itu apa silahkan cari sendiri di google karena saya sendiri masih kurang mengerti mengenai PDO ini. Tapi yang saya ketahui PDO ini memliki kelebihan dibanding mysql* ataupun mysql_* yaitu lebih aman dari serangan SQL Injection dan juga fleksibel jika ingin pindah ke database yang lain.

Nah seperti itulah caranya memasukkan data dari satu form ke banyak tabel (disini 2 tabel)..

Semoga bisa membantu..

Download source code : disini

Membuat Relasi Tabel Database di PhpMyAdmin

13 comments
Haduh haduh haduh udah lama banget ga posting nih..
Jadi terbengkalai deh ni blog. OK deh langsung aja kali ini saya kasih tutorial cara me-relasikan tabel dalam database menggunakan phpmyadmin.

Berikut langkah-langkahnya:
1. Pertama tentunya buat database dulu. Disini saya buat databse dengan nama "library".

2. Selanjutnya masuk ke database tersebut dan buat tabel dengan nama "category".

3. Langkah selanjutnya yaitu buat field dengan nama "category_id". Saya setting field ini auto increment dan juga sebagai primary key.

4. Sebelum di save, jangan lupa ubah tipe tabel menjadi "InnoDB". Kenapa? Karena hanya tipe inilah yang dapat membuat foreign key dan relasi. Cara menggantinya lihat pada bagian "Storage Engine" dan ganti menjadi "InnoDB". Karena biasanya ada yang defaultnya tipe "MyISAM" walaupun ada juga yang dari default sudah "InnoDB".

5. Setelah di setting, save.
6. Selanjutnya buat tabel kedua. Disini saya membuat tabel bernama "book".

7. Isi fieldnya. Disini saya membuat field “book_id” yang di setting “auto_increment” dan sebagai “primary key”. Pada tabel “book” ini, buat field "category_id" lalu field “category_id” ini akan digunakan sebagai foreign key. Caranya adalah pada bagian index pilih “INDEX”.
8. Sebelum di save jangan lupa tipe tabel harus "InnoDB".

9. Setelah membuat kedua tabel, maka selanjutnya adalah me-relasikan kedua tabel dengan field “category_id”. Ingat, field “category_id” harus ada pada kedua tabel.
10. Masuk ke tabel "book". Pindah ke tab menu “structure” lalu klik “Relation View” yang terdapat di bawah struktur tabel.

11. Karena field “category_id” dalam tabel “book” ini akan direlasikan dengan field “category_id” pada tabel “category” (sebagai tabel master) maka selanjutnya kita set relasinya seperti berikut ini:

12. Jika berhasil, maka setelah di-save seperti ini:

13. Setelah membuat relasi, kita coba memasukkan record ke dalam tabel yang tadi dibuat. Disini saya memasukkan data (record) ke tabel “category” seperti gambar berikut ini:

14. Pada tabel “category” ini, saya memasukkan beberapa record. Salah satu diantaranya saya memasukkan “category_id = 12345” dengan “category_name = Mystery”
15. Selanjutnya Masukkan data ke tabel “Book”. Berikut ini data yang saya masukkan:

16. Karena sudah direlasikan, saat pengisian data pada tabel “book” ini, pada field “category_id” sudah terdapat pilihan yang tadi telah dimasukkan di tabel “category”. Contoh: Saya memasukkan data dengan judul buku “Harry Potter” dan pada category_id saya pilih “12348” yang merupakan kategori “magic”

17. Berikut ini data yang dimasukkan pada tabel “Book”.

18. Pada gambar di atas category_id-nya berupa link. Jika di klik maka akan diarahkan ke tempat category itu sendiri. Contoh saya meng-klik category_id 12348. Hasilnya seperti ini:

19. Jadi, seperti itulah fungsi dari relasi tabel, yaitu menghubungkan antar tabel.

Ya.. cukup sekian tutorial kali ini mudah"an bisa berguna. Aamiin.

Membuat Database dan Membuat Tabel pada PhpMyAdmin

5 comments
Bahasan kali ini adalah tentang Membuat Database dan Membuat Tabel pada PhpMyAdmin. Apa sih PhpMyadmin itu? PhpMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa pemrograman PHP yang digunakan untuk menangani administrasi MySQL melalui World Wide Web. Sebenarnya membuat database di phpmhyadmin ini easy banget lah ya.. Tapi mungkin masih ada yang kurang mengerti jadi ya mudah - mudahan artikel ini bisa berguna.
Well, Berikut langkah-langkah yang harus dilakukan:
Pertama, kita harus mempersiapkan PhpMyAdmin itu sendiri:
1. Download PhpMyAdmin di http://www.phpmyadmin.net
2. Ekstrak file *.zip
3. Disini saya menggunakan xampp, maka copy folder hasil ekstrak ke tempat menginstal xampp. Misal: C:\XAMPP\
4. Rename folder tersebut menjadi “phpmyadmin” tanpa tanda kutip.
5. Buka folder tersebut dan rename file “config.sample.inc.php” menjadi “config.inc.php”
6. Edit file config.inc.php. Edit bagian berikut ini menjadi:
$cfg['Servers'][$i]['AllowNoPassword'] = true; 
$cfg['Servers'][$i]['controlpass'] = '';

7. Konfigurasi pada langkah 5 & 6 dilakukan agar pada saat mengakses phpmyadmin cukup dengan mengisi username “root” dan password dikosongkan.

Langkah kedua, kita akses PhpMyAdmin dari browser dengan mengetikkan http://localhost/phpmyadmin. Jangan lupa untuk mengaktifkan apache & mysql-nya.

Langkah ketiga barulah kita membuat database:
1. Disini saya menggunakan phpmyadmin versi 3.4.9 maka langkahnya, Klik tab menu "Database"
2. Isi nama database lalu klik "Create"
3. Gambar di atas menunjukkan bahwa database yang dibuat bernama "Sekolah"
4. Terdapat menu dropdown di sebelah nama database. Berikut ini beberapa penjelasannya:
  • Collation : Karakter yang digunakan di penyimpanan data dalam text field menyediakan support untuk banyak bahasa di dunia.
  • Ascii : suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal.
  • Big5 : Karakter encoding bahasa tradisional china.
  • Ucs2 : Standar unicode tidak resmi. Sistem penyandian menggunakan 16-bit.
  • Utf8 : Standar encoding yang dapat menampung semua karakter unicode

Langkah Keempat, Membuat Tabel:
1. Masuk ke database yang telah dibuat
2. Isi nama tabel dan jumlah kolom lalu klik "Go"
3. Selanjutnya memasukkan field:

  • Penjelasan dalam penambahan field:
  1. Column = Nama Field/Kolom
  2. Type = Tipe Data yang digunakan pada field
  3. Length = Panjang Karakter untuk isi dari field tersebut.
  4. Null = data boleh dikosongkan atau tidak
  5. Index

    • Primary = suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Nilai dari primary key adalah unik.
    • Unique = Index dimana semua baris dalam index harus unik. Indeks unique dapat digunakan untuk menerapkan struktur pada data, karena sistem database tidak mengijinkan aturan pengisian yang berbeda yang dapat merusak ketika memasukkan atau memperbarui data.
    • Index = indeks mungkin berisi baris-baris dengan nilai yang identik di semua kolom indeks. Indeks ini tidak menerapkan struktur pada data sehingga index hanya digunakan untuk mempercepat query.
    • FullText = Indeks Fulltext hanya berguna untuk pencarian yang sepenuhnya teks.

  6. Auto_Increment = penambahan pengurutan angka secara otomatis ketika field yang lain ditambahkan. Biasanya auto_increment itu dipakai pada ID yang sifatnya sebagai primary key dan type datanya harus integer.

Nah seperti itulah pembuatan database dan pembuatan tabel di phpmyadmin. Gampang banget kan?

Selesai..
An ENTJ Person. A software engineer, experienced in web development, especially in Java. The best graduate of engineering field of Bandung State Polytechnic. Self-motivated and adaptable person. Highly passionate about IT stuff. A fast learner, always curious and loves to learn something new. Has a strong logical and analytical thinking. [Faris Arifiansyah] (https://lh4.googleusercontent.com/9-OcR6PfTb9wECGLmzP0uzrFor9GiXdbMHRt_eXiIh9D_kdopGPGDogIuhWVlCaeBfGONpDMz54MuZHfm98s=w1920-h925)