CRUD (Create, Read, Update, Delete) PHP dengan Chat GPT 2023

Konten [Tampil]

 CRUD (Create, Read, Update, Delete) adalah salah satu operasi dasar dalam pengembangan aplikasi web. Berikut adalah contoh implementasi CRUD dengan PHP dan HTML:



1. Membuat Database

Pertama-tama, kita perlu membuat database untuk menyimpan data yang akan kita tambahkan, baca, perbarui, dan hapus. Berikut adalah contoh skema tabel yang dapat kita gunakan:

  • Buka code Editor bisa dengan VSCode atau yang lainnya, saya sarankan menggunakan VSCode bisa mendownload di halaman resminya, download dan bisa ikuti langkah menginstall VSCode
  • Setelah berhasil menginstal VSCode sialhkan buat file di dalam folder Htdocs Xampp, silahkan baca cara menginstall Xampp
  • Buat Folder CRUD di dalam Htdocs berisi struktur : folder crud berisi file tipe index.html, create.php, view.php, delete.php dan membuat struktur deasin database, karena kita akan mengambil dan menyimpan data ke dalam database.
Buat File di dalam Folder CRUD dengan tipe file crud.sql dan masukan script code sql berikut :

CREATE TABLE `users` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(255) NOT NULL,

  `email` varchar(255) NOT NULL,

  `phone` varchar(20) NOT NULL,

  `address` varchar(255) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


2.  Membuat Koneksi Database

Buat tipe file php di dalam folder CRUD dengan nama koneksi.php seperti langkah sebelumnya silahkan masukan script code berikut ke dalam tipe file koneksi.php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// Membuat koneksi
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Memeriksa koneksi
if (!$conn) {
  die("Koneksi gagal: " . mysqli_connect_error());
}
?>

3. Membuat html untuk memasukan data 

Buat file input.html 

<!DOCTYPE html>

<html>

<head>

  <title>Form Input Data</title>

</head>

<body>

  <h1>Form Input Data</h1>

  <form action="create.php" method="post">

    <label for="name">Nama:</label>

    <input type="text" id="name" name="name" required><br><br>

    <label for="email">Email:</label>

    <input type="email" id="email" name="email" required><br><br>

    <label for="phone">Telepon:</label>

    <input type="tel" id="phone" name="phone" required><br><br>

    <label for="address">Alamat:</label>

    <textarea id="address" name="address" required></textarea><br><br>

    <input type="submit" value="Simpan">

  </form>

</body>

</html>


4. Membuat fungsi create data

Buat file create.php
<?php
// Memeriksa apakah form telah dikirimkan
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $name = $_POST["name"];
  $email = $_POST["email"];
  $phone = $_POST["phone"];
  $address = $_POST["address"];

  // Menyiapkan pernyataan SQL
  $sql = "INSERT INTO users (name, email, phone, address) VALUES ('$name', '$email', '$phone', '$address')";

  // Menjalankan pernyataan SQL
  if (mysqli_query($conn, $sql)) {
    echo "Data berhasil disimpan";
  } else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
  }
}

// Menutup koneksi
mysqli_close($conn);
?>

5. Membuat php untuk menampilkan data

Buat file php view.php

<!DOCTYPE html>

<html>

<head>

  <title>Tampil Data</title>

</head>

<body>

  <h1>Data Pengguna</h1>

  <a href="create.php">Tambah Data</a>

  <br><br>

  <table border="1">

    <tr>

      <th>No.</th>

      <th>Nama</th>

      <th>Email</th>

      <th>Telepon</th>

      <th>Alamat</th>

      <th>Aksi</th>

    </tr>

    <?php

    // Menampilkan data dari database

    $sql = "SELECT * FROM users";

    $result = mysqli_query($conn, $sql);


    if (mysqli_num_rows($result) > 0) {

      $i = 1;

      while ($row = mysqli_fetch_assoc($result)) {

        echo "<tr>";

        echo "<td>" . $i . "</td>";

        echo "<td>" . $row["name"] . "</td>";

        echo "<td>" . $row["email"] . "</td>";

        echo "<td>" . $row["phone"] . "</td>";

        echo "<td>" . $row["address"] . "</td>";

        echo "<td><a href='update.php?id=" . $row["id"] . "'>Edit</a> | <a href='delete.php?id=" . $row["id"] . "'>Hapus</a></td>";

        echo "</tr>";

        $i++;

      }

    } else {

      echo "<tr><td colspan='6'>Tidak ada data</td></tr>";

    }

    ?>

  </table>

</body>

</html>


6. Membuat file read data php

Buat file view.php
<?php
// Memeriksa koneksi
if (!$conn) {
  die("Koneksi gagal: " . mysqli_connect_error());
}

// Menyiapkan pernyataan SQL
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);

// Memeriksa apakah ada data
if (mysqli_num_rows($result) > 0) {
  // Menampilkan data ke dalam tabel
  while ($row = mysqli_fetch_assoc($result)) {
    echo "ID: " . $row["id"] . "<br>";
    echo "Nama: " . $row["name"] . "<br>";
    echo "Email: " . $row["email"] . "<br>";
    echo "Telepon: " . $row["phone"] . "<br>";
    echo "Alamat: " . $row["address"] . "<br><br>";
  }
} else {
  echo "Tidak ada data";
}

// Menutup koneksi
mysqli_close($conn);
?>

7. Membuat php untuk melakukan perubahan pada data

Buat file update.php

<?php
// Memeriksa apakah ID data telah dikirim
if (isset($_GET["id"]) && !empty(trim($_GET["id"]))) {
  // Memperoleh ID data dari parameter URL
  $id = trim($_GET["id"]);

  // Memeriksa koneksi
  if (!$conn) {
    die("Koneksi gagal: " . mysqli_connect_error());
  }

  // Menyiapkan pernyataan SQL untuk memperoleh data
  $sql = "SELECT * FROM users WHERE id = ?";

  if ($stmt = mysqli_prepare($conn, $sql)) {
    // Mengikat variabel ke parameter
    mysqli_stmt_bind_param($stmt, "i", $param_id);

    // Menetapkan nilai parameter
    $param_id = $id;

    // Mengeksekusi pernyataan
    if (mysqli_stmt_execute($stmt)) {
      // Memperoleh hasil
      $result = mysqli_stmt_get_result($stmt);

      if (mysqli_num_rows($result) == 1) {
        // Memperoleh data dari baris hasil
        $row = mysqli_fetch_assoc($result);
        $name = $row["name"];
        $email = $row["email"];
        $phone = $row["phone"];
        $address = $row["address"];
      } else {
        // Jika ID data tidak valid, redirect ke halaman tampil
        header("location: tampil.php");
        exit();
      }
    } else {
      echo "Terjadi kesalahan. Silakan coba lagi.";
    }
  }

  // Menutup pernyataan
  mysqli_stmt_close($stmt);

  // Menutup koneksi
  mysqli_close($conn);
} else {
  // Jika tidak ada ID data yang dikirim, redirect ke halaman tampil
  header("location: tampil.php");
  exit();
}

// Memproses data yang dikirim setelah form di-submit
if (isset($_POST["submit"])) {
  // Memeriksa koneksi
  if (!$conn) {
    die("Koneksi gagal: " . mysqli_connect_error());
  }

  // Memperoleh nilai dari form
  $name = trim($_POST["name"]);
  $email = trim($_POST["email"]);
  $phone = trim($_POST["phone"]);
  $address = trim($_POST["address"]);

  // Menyiapkan pernyataan SQL untuk memperbarui data
  $sql = "UPDATE users SET name = ?, email = ?, phone = ?, address = ? WHERE id = ?";

  if ($stmt = mysqli_prepare($conn, $sql)) {
    // Mengikat variabel ke parameter
    mysqli_stmt_bind_param($stmt, "ssssi", $param_name, $param_email, $param_phone, $param_address, $param_id);

    // Menetapkan nilai parameter
    $param_name = $name;
    $param_email = $email;
    $param_phone = $phone;
    $param_address = $address;
    $param_id = $id;

    // Mengeksekusi pernyataan
    if (mysqli_stmt_execute($stmt)) {
      // Data berhasil diperbarui, redirect ke halaman tampil
      header("location: tampil.php");
      exit();
    } else {
      echo "Terjadi kesalahan. Silakan coba lagi.";
    }
  }

  //

8. Membuat php untuk menghapus data

 Buat file detele.php

<?php

// Memeriksa apakah ID data telah dikirim

if (isset($_GET["id"]) && !empty(trim($_GET["id"]))) {

  // Memperoleh ID data dari parameter URL

  $id = trim($_GET["id"]);


  // Memeriksa koneksi

  if (!$conn) {

    die("Koneksi gagal: " . mysqli_connect_error());

  }


  // Menyiapkan pernyataan SQL untuk menghapus data

  $sql = "DELETE FROM users WHERE id = ?";


  if ($stmt = mysqli_prepare($conn, $sql)) {

    // Mengikat variabel ke parameter

    mysqli_stmt_bind_param($stmt, "i", $param_id);


    // Menetapkan nilai parameter

    $param_id = $id;


    // Mengeksekusi pernyataan

    if (mysqli_stmt_execute($stmt)) {

      // Data berhasil dihapus, redirect ke halaman tampil

      header("location: tampil.php");

      exit();

    } else {

      echo "Terjadi kesalahan. Silakan coba lagi.";

    }

  }


  // Menutup pernyataan

  mysqli_stmt_close($stmt);


  // Menutup koneksi

  mysqli_close($conn);

} else {

  // Jika tidak ada ID data yang dikirim, redirect ke halaman tampil

  header("location: tampil.php");

  exit();

}

?>



 

Previous Post Next Post