fbpx

Membuat crud dengan php. Tutorial kami akan membahas tentang bagaimana membuat input, edit dan delete pada PHP. Pada tutorial ini kami akan menggunakan Mysql di XAMPP, jadi jika anda belum menginstal xampp anda dapat melihat tutorialnya disini.

Artikel Membuat Crud dengan PHP akan membahas hal-hal berikut

  • Membuat Database dan Table di Mysql Database
  • Membuat Koneksi php ke database Mysql
  • Membuat Input data pada PHP
  • Input data lebih dari satu pada PHP
  • Edit data pada PHP
  • Delete data pada PHP

Membuat Crud dengan PHP

Mari kita mulai dari membuat Database dan table di Mysql

Belajar Pemrograman PHP

Membuat database di Mysql dan table di Mysql

Tahap pertama adalah kita harus membuat database dan table di mysql, pastikan anda sudah menjalankan service apache dan mysql.

Membuat database di Mysql

Dalam membuat database di Mysql anda bisa menggunakan query ataupun menggunakan admin panel yang tersedia di phpmyadmin dari XAMPP.

Membuat database di Mysql dengan Query

Untuk membuat database di Mysql dengan query caranya cukup mudah. Hal pertama yang harus anda lakukan adalah mengakses phpmyadmin, caranya dengan mengakses http://localhost:84/phpmyadmin/ lewat broswer anda lalu pilih Sql

Membuat database di Mysql dengan Query

Lalu masukan query dibawah ini kedalam editor yang tersedia, kemudian tekan tombol Go.

Create database crudPHP
Membuat database di Mysql dengan Query

Membuat database di Mysql lewat GUI

Untuk membuat database di Mysql lewat GUI sangatlah mudah. Hal pertama yang harus anda lakukan adalah mengakses phpmyadmin, caranya dengan mengakses http://localhost:84/phpmyadmin/

Caranya klik new di panel sebelah kiri

Membuat database di Mysql lewat GUI

Setelah itu anda akan dialihkan kehalaman lain, isi nama databasenya di form yang tersedia.

Membuat database di Mysql lewat GUI

lalu tekan tombol create.

Membuat table di Mysql database

Dalam membuat table di database Mysql anda juga bisa menggunakan query ataupun menggunakan admin panel yang tersedia di phpmyadmin dari XAMPP.

Membuat table di Mysql database dengan Query

Pertama pastikan anda sudah memilih database yang akan digunakan, caranya cukup dengan mengklik nama database yang berada di panel sebelah kiri.

Pilih Sql dan salin kode dibawah ini

CREATE TABLE users ( 
    `ID` int(10) NOT NULL AUTO_INCREMENT, 
    `nama` varchar(64) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

lalu tekan Go.

Membuat table di Mysql database dengan Query

Membuat table di Mysql database lewat GUI

Untuk lewat gui, anda dapat melakukannya dengan mudah. Pertama isi form yang tersedia di tab structure.

Masukan nama table users dan Number of columns 2 , lalu tekan Go

Membuat table di Mysql database lewat GUI

setelah itu kita akan diarah kan kedalam halaman baru yang memiliki form. Isi form tersebut seperti gambar dibawah ini

Membuat table di Mysql database lewat GUI

Kita sudah selesai untuk membuat Database dan table. Selanjutnya kita akan membuat koneksi dari PHP ke Database mysql kita.

Pembuatan Crud dengan PHP

Tahap ini adalah tahap dimana kita akan bekerja dengan PHP dan Mysql, sebelumnya buat folder baru didalam folder htdocs anda, dan simpan dengan nama crudPHP.

Membuat Koneksi PHP ke database Mysql

Untuk membuat koneksi, kita akan menggunakan ekstensi Mysqli, bukan Mysql. Caranya seperti ini

Buat file baru , salin kode di bawah ini dan simpan dengan nama koneksi.php

<?php
$host 		= "localhost";
$username 	= "root";
$password 	= "";
$dbname     = "crudphp";

$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
    die("Gagal menyambungkan dengan Database : " . mysqli_connect_error());
} 
?>

Sekarang coba anda akses, dengan cara http://localhost/crudPHP/koneksi.php, jika tidak ada tampilan apa pun alias hanya gambar putih berarti anda sudah berhasil membuat koneksi PHP ke database mysql.

Membuat Input data pada PHP

Untuk membuat input data kita akan membutuhkan form dan kita harus memanggil koneksi ke database mysql yang sudah kita buat di atas menggunakan include.

Salin kode dibawah ini lalu simpan dengan nama input.php

<!DOCTYPE html>
<html>
   <head>
      <!-- Latest compiled and minified CSS -->
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
   </head>
   <body>
      <div class="container">
         <div class="row">
            <div class="col-md-8">
               <h1>Input Data</h1>
               <form name="contact-form" action="#" method="post" id="contact-form">
                  <div class="form-group">
                     <label for="Name">Nama</label>
                     <input type="text" class="form-control" name="txt_nama" placeholder="Nama" required>
                  </div>
                  <button type="submit" class="btn btn-primary" name="submit" value="Simpan" id="submit_form">Submit</button>
               </form>
               <div class="row" style="margin-top: 50px;padding: 10px 10px 10px 10px">
                  <?php
                     include_once("koneksi.php");
                     //Jika tombol submit di tekan
                     if(isset($_POST['submit'])){
                     	//Ambil data dari field txt_nama
                     	$input_nama = $_POST['txt_nama'];
                     	//query insert mysql
                     		
                     	$sql = "INSERT INTO users (nama)VALUES ('".$input_nama."')";
                     
                     		if (mysqli_query($conn, $sql)) {
                     				echo "Data berhasil di simpan";
                     							header("Refresh:0");
                     		} else {
                     				echo "Error: " . $sql . "<br>" . mysqli_error($conn);
                     		}
                     	mysqli_close($conn);	
                     }
                     
                     ?>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>

Sekarang coba anda jalankan dan lihat ke table anda , apakah datanya sudah masuk atatu tidak.

Input data lebih dari satu pada PHP

Untuk membuat Input data lebih dari satu pada PHP kita akan menggunakan pengulangan, jadi ada baiknya anda melihat artikel ini terlebih dahulu, karena kita akan menggunakan for loop.

Konsepnya seperti ini kita akan melooping text field, lalu untuk mengambil data dan menyimpannya kita akan melakukannya satu persatu namun didalam looping juga.

Berikut kodenya simpan dengan nama input_banyak.php

<!DOCTYPE html>
<html>
   <head>
      <!-- Latest compiled and minified CSS -->
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
   </head>
   <body>
      <div class="container">
         <div class="row">
            <div class="col-md-8">
               <h1>Input Data</h1>
               <form name="contact-form" action="#" method="post" id="contact-form">
                  <?php for($x=0;$x < 5;$x++){ ?>
                  <div class="form-group">
                     <label for="Name">Nama</label>
                     <input type="text" class="form-control" name="txt_nama[]" placeholder="Nama" required>
                  </div>
                  <?php } ?>
                  <button type="submit" class="btn btn-primary" name="submit" value="Simpan" id="submit_form">Submit</button>
               </form>
               <div class="row" style="margin-top: 50px;padding: 10px 10px 10px 10px">
                  <?php
                     include_once("koneksi.php");
                     //Jika tombol submit di tekan
                     
                     if(isset($_POST['submit'])){
                        $input_nama = $_POST['txt_nama'];
                        //Ambil data dari field txt_nama
                        for($x=0;$x<5;$x++){
                        $sql = "INSERT INTO users (nama)VALUES ('".$input_nama[$x]."')";
                        mysqli_query($conn, $sql);
                     }
                     header("Refresh:0");
                     mysqli_close($conn); 
                     }
                     
                     ?>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>

kita melakukan pengulangan dibagian textfield kita seperti ini

 <?php for($x=0;$x < 5;$x++){ ?>
     <div class="form-group">
        <label for="Name">Nama</label>
        <input type="text" class="form-control" name="txt_nama[]" placeholder="Nama" required>
     </div>
  <?php } ?>

Perhatikan, arrtibut name didalam tag input, kami beri tanda [ ] dalam kata lain kami merubahnya menjadi array.

Lalu, dalam pengambilan data untuk diinput ke table, kita melakukan ini.

for($x=0;$x<5;$x++){
	$sql = "INSERT INTO users (nama)VALUES ('".$input_nama[$x]."')";
	mysqli_query($conn, $sql);
}

Jika anda kurang paham ada baiknya anda membaca artikel tentang array dan pengulangan terlebih dahulu.

Edit data pada PHP

Sebelum membuat edit data pada PHP, kita harus memunculkan data yang kita buat di list.

Salin kode dibawah ini dan simpan dengan nama list.php

<!DOCTYPE html>
<html>
   <head>
      <!-- Latest compiled and minified CSS -->
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
   </head>
   <body>
      <div class="container">
      <div class="row">
         <div class="col-md-8" style="margin-top: 50px;padding: 10px 10px 10px 10px">

               <table class="table"> 
                  <thead>
                        <tr>
                     <th>Id</th>
                     <th> Nama </th>
                     <th> Aksi</th>
                     </tr>
                  </thead>
                     <tbody>
             <?php
               include_once("koneksi.php");
               $sql = "Select * from Users";
               $result = mysqli_query($conn, $sql);
               if (mysqli_num_rows($result) > 0) {
                   while($row = mysqli_fetch_assoc($result)) {
                      ?><tr>
                        <td><?php echo $row['ID'];?></td>
                        <td><?php echo $row['nama'];?></td>
                        <td> 
                           <a href="delete.php?id=<?php echo $row['ID'];?>" > Hapus </a> 
                           |
                           <a href="ubah.php?id=<?php echo $row['ID'];?>" > Ubah </a> 
                        </td>
                     </tr>
                      <?php
                   }
               } else {
                   echo "0 results";
               }
               
               
               ?>
                     </tbody>
            </table>


         </div>
      </div>
   </body>
</html>

kita mengirimkan parameter melalui list ini lalu akan di proses di file ubah untuk memunculkan datanya. Disini bagian mengirim parameternya

<a href="ubah.php?id=<?php echo $row['ID'];?>" > Ubah </a> 

nah lalu berikut adalah file ubah.php

<!DOCTYPE html>
<html>

<head>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-md-8">
                <h1>Edit Data</h1>
                <?php

				include_once("koneksi.php");
                $sql = "Select * from Users where id = '".$_GET['id']."' ";
				$result = mysqli_query($conn, $sql);
				$row = mysqli_fetch_assoc($result);
			?>
                    <form name="contact-form" action="#" method="post" id="contact-form">
                        <div class="form-group">
                            <label for="Name">Nama</label>
    <input type="text" class="form-control" value="<?php echo $row['nama'];?>" name="txt_nama" placeholder="Nama" required>
                        </div>
    <button type="submit" class="btn btn-primary" name="submit" value="Ubah Data" id="submit_form">Ubah Data</button>
                    </form>

                    <?php

	include_once("koneksi.php");
	//Jika tombol submit di tekan
	if(isset($_POST['submit'])){
		//Ambil data dari field txt_nama
		$input_nama = $_POST['txt_nama'];
		//query insert mysql

		$sql = "UPDATE users set nama = '".$input_nama."' where ID = '".$_GET['id']."'  ";

			if (mysqli_query($conn, $sql)) {
					echo "Data berhasil di simpan";
								header("Refresh:0");
			} else {
					echo "Error: " . $sql . "<br>" . mysqli_error($conn);
			}
		mysqli_close($conn);	
	}

	?>

            </div>
        </div>
    </div>

</body>

</html>

Kita menerima parameter id dengan $_GET[‘id’], setelah itu kita menjalankan query untuk memunculkan users yang memiliki ID, sesuai parameter yang kita terima.

silahkan anda coba.

Delete data pada PHP

Untuk delete hampir sama dengan edit, kita harus mengirim parameter terlebih dahulu, lalu kita delete users yang sesuai dengan parameter id tersebut.

Berikut kode untuk mendelete

<?php
include("koneksi.php");
$sql = "DELETE FROM users WHERE id='".$_GET['id']."' ";

if (mysqli_query($conn, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($conn);
}
?>

Kita sudah Membuat Crud dengan PHP, jika anda ingin menemukan tutorial tentang PHP lainnya anda dapat mengunjungi link ini.

Sekian artikel tentang Membuat Crud dengan PHP, semoga bermanfaat

Subscribe To Our Newsletter

Subscribe To Our Newsletter

Kami memberikan tutorial baru tiap harinya !!!

You have Successfully Subscribed!