0% found this document useful (0 votes)
59 views11 pages

Laporan Pembahasan Modul 6

1. The document contains PHP code for connecting to a MySQL database and performing CRUD operations on guest book data. 2. It includes files for connecting to the database, displaying data in paginated tables, adding new entries, and updating existing entries. 3. The code shows how to query the database, retrieve and display results, validate and sanitize user inputs, and check for successful operations.

Uploaded by

Waliyin Nur Adli
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views11 pages

Laporan Pembahasan Modul 6

1. The document contains PHP code for connecting to a MySQL database and performing CRUD operations on guest book data. 2. It includes files for connecting to the database, displaying data in paginated tables, adding new entries, and updating existing entries. 3. The code shows how to query the database, retrieve and display results, validate and sanitize user inputs, and check for successful operations.

Uploaded by

Waliyin Nur Adli
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Nama : Prakoso Dwika

NIM : 1905541060
Kelas : Pemrograman Internet
Tugas Modul 6
Configdb.php
<?php
$mysql_hostname = "sql310.epizy.com";
$mysql_user = "epiz_29727927";
$mysql_password = "mfBwA4Swuuuwpg";
$mysql_database = "epiz_29727927_dblatihan";
//query untuk connect ke database
$conn = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password,
$mysql_database) or die("koneksi ke database gagal!");

Read.php
<link href="standar.css" rel="stylesheet" type="text/css">
<?php
$conn = mysqli_connect("sql310.epizy.com", "epiz_29727927",
"mfBwA4Swuuuwpg", "epiz_29727927_dblatihan");

echo "<table
align=center><tr><th>No</th><th>Nama</th><th>Email</th><th>Website</th><th
>Tanggal</th><th>Komentar</th><th>Edit or Delete</th></tr>";
error_reporting(0);
// Langkah 1: Tentukan batas,cek halaman & posisi data
$batas = 5;
$halaman = $_GET['halaman'];
if (empty($halaman)) {
$posisi = 0;
$halaman = 1;
} else {
$posisi = ($halaman - 1) * $batas;
}

//Langkah 2: Sesuaikan perintah SQL


$tampil = "SELECT * FROM buku_tamu LIMIT $posisi,$batas";
$hasil = mysqli_query($conn, $tampil);

$no = $posisi + 1;
while ($r = mysqli_fetch_array($hasil)) {
?>
<tr>
<td><?php echo $r['id_tamu'] ?></td>
<td><?php echo $r['nama'] ?></td>
<td><?php echo $r['email'] ?></td>
<td><?php echo $r['website'] ?></td>
<td><?php echo $r['tanggal'] ?></td>
<td><?php echo $r['komentar'] ?></td>
<td>
<button><a href="update.php?id=<?php echo $r['id_tamu']
?>">Edit</a></button>
<button onclick="return confrim('Delete Data ?')"><a
href="delete.php?id=<?php echo $r['id_tamu'] ?>">Delete</a></button>
</td>
</tr>
<?php
$no++;
}
echo "</table><br>";

//Langkah 3: Hitung total data dan halaman


$tampil2 = mysqli_query($conn, "SELECT * FROM buku_tamu");
$jmldata = mysqli_num_rows($tampil2);
$jmlhal = ceil($jmldata / $batas);

echo "<div class=paging>";


// Link ke halaman sebelumnya (previous)
if ($halaman > 1) {
$prev = $halaman - 1;
echo "<span class=prevnext><a
href=$_SERVER[PHP_SELF]?halaman=$prev>Prev</a></span> ";
} else {
echo "<span class=disabled>Prev</span> ";
}

// Tampilkan link halaman 1,2,3 ...


for ($i = 1; $i <= $jmlhal; $i++)
if ($i != $halaman) {
echo " <a href=$_SERVER[PHP_SELF]?halaman=$i>$i</a> ";
} else {
echo " <span class=current>$i</span> ";
}

// Link kehalaman berikutnya (Next)


if ($halaman < $jmlhal) {
$next = $halaman + 1;
echo "<span class=prevnext><a
href=$_SERVER[PHP_SELF]?halaman=$next>Next</a></span>";
} else {
echo "<span class=disabled>Next</span>";
}
echo "</div>";
?>
<div style="text-align: center; margin: 10px">
<span style="padding: 2px 5px 2px 5px; margin-right: 2px; border: 1px
solid #9AAFE5; font-weight: bold;">
<a href=create.php style="text-decoration: none; color:
#2E6AB1;">Input data</a>
</span>
</div>
<?php
echo "<p align=center>Total anggota : <b>$jmldata</b> orang</p>";
?>

standar.css
body {
color: #2E6AB1;
font-family: Tahoma;
font-size: 13;
}

table {
border-collapse: collapse;
}

th {
background-color: #2E6AB1;
padding-left: 10px;
padding-right: 8px;
padding-top: 3px;
padding-bottom: 3px;
border: 1px solid #969BA5;
text-align: left;
color: #FFFFFF;
font-size: 13;
}

td {
background-color: #F0F0F0;
padding-left: 8px;
padding-right: 8px;
padding-top: 3px;
padding-bottom: 3px;
border: 1px solid #969BA5;
color: #2E6AB1;
font-size: 13;
}

div.paging {
padding: 2px;
margin: 2px;
text-align: center;
font-family: Tahoma;
font-size: 12px;
}

div.paging a {
padding: 2px 5px 2px 5px;
margin-right: 2px;
border: 1px solid #9AAFE5;
text-decoration: none;
color: #2E6AB1;
}

div.paging a:hover {
border: 1px solid #2B66A5;
color: #000000;
background-color: #FEDADA;
}

div.paging span.current {
padding: 2px 5px 2px 5px;
margin-right: 2px;
border: 1px solid navy;
font-weight: bold;
background-color: #2E6AB1;
color: #FFFFFF;
}

div.paging span.disabled {
padding: 2px 5px 2px 5px;
margin-right: 2px;
border: 1px solid #999999;
color: #999999;
}

div.paging span.prevnext {
font-weight: bold;
}

Hasil eksekusi read.php

1 Langkah awal membuat koneksi php dan database mengunakan mysqli_connect

2 Lalu membuat batas dari tabel disini saya membuat batas 5, selain batas buat juga cek
halaman dan posisi

3 Ketiga lakukan looping untuk print data dari database

4 Setelah itu hitung total data dan halaman untuk digunakan pada paging

5 Yang kelima buat paging berisi previous, jumlah halaman, dan next. Pada saat jumlah
halaman membutuhkan perulangan untuk memunculkan banyak halaman, dan sisanya
mengunakan percabangan if else

Create.php
<?php
include "configdb.php";
/**
* Fungsi isset pada PHP adalah Fungsi isset () digunakan untuk memeriksa
apakah suatu variabel sudah diatur atau belum.
* Fungsi isset () mengembalikan false jika variabel pengujian berisi
nilai NULL.
*/
if (isset($_POST['act'])) {

// memasukkan data input ke variable


$namatamu = $_POST['nama_tamu'];
$emailtamu = $_POST['email_tamu'];
$websitetamu = $_POST['website_tamu'];
$komentartamu = $_POST['komentar_tamu'];

//pembuatan query insert


$sql = "INSERT INTO buku_tamu(nama, email, website, tanggal, komentar)
VALUE ('$namatamu', '$emailtamu', '$websitetamu', NOW(),
'$komentartamu')";
//jalankan
$ex = mysqli_query($conn, $sql) or die("Insert gagal");
/**
* Fungsi mysqli_affected_rows () mengembalikan jumlah baris yang
terpengaruh
* di SELECT, INSERT, UPDATE, REPLACE, atau DELETE query sebelumnya.
*/
$result = mysqli_affected_rows($conn);
//cek jika eksekusi berhasil dilakukan
if ($result > 0) {
echo "<script>alert('insert/tambah data berhasil..');
location.href = 'read.php'; </script>";
} else {
echo "<script>alert('insert/tambah data gagal..')</script>";
}
}
?>
<h2>Input Tamu</h2>
<form method="POST">
<table border="1" style="border-collapse: collapse;">
<tr>
<td>Nama</td>
<td><input type="text" name="nama_tamu"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email_tamu"></td>
</tr>
<tr>
<td>Website</td>
<td><input type="text" name="website_tamu"></td>
</tr>
<tr>
<td>Komentar</td>
<td><textarea name="komentar_tamu" cols="21"
rows="10"></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="act" value="Save"
onclick="return confrim('Save Data ?')">
<input type="button" value="Kembali"
onclick="self.history.back()">
</td>
</tr>
</table>
</form>

Hasil Eksekusi create.php

1 Pertama ambil terlebih dahulu data yang telah diinputkan oleh user.

2 Kedua masukkan input user kedalam variable.

3 Ketiga membuat query untuk input data kedalam database.

4 Keempat jalankan query


5 Terakhir cek eksekusi berhasil / gagal disini saya mengunakan mysqli_affected_rows yang
berfungsi mengembalikan jumlah baris yang terpengaruh di SELECT, INSERT, UPDATE,
REPLACE, atau DELETE query sebelumnya.

Update.php
<?php
include "configdb.php";
//mencari mengambil id
if (isset($_GET['id'])) {
/**
* mysqli_real_escape_string fungsi php yang digunakan untuk memberi
backslash di beberapa kode
* untuk ditampilkan pada halaman, namun saat menyimpan menuju sql,
kode akan tetap normal tanpa ada backslash.
*/
$idtamu = mysqli_real_escape_string($conn, $_GET['id']);
//update data baru
if (isset($_POST['act'])) {
//memasukkan data ke variable
$idtamu = mysqli_real_escape_string($conn, $_POST['id_tamu']);
$namatamu = $_POST['nama_tamu'];
$emailtamu = $_POST['email_tamu'];
$websitetamu = $_POST['website_tamu'];
$komentartamu = $_POST['komentar_tamu'];
//membuat query
$sql = "UPDATE buku_tamu SET nama = '$namatamu', email =
'$emailtamu', website = '$websitetamu', tanggal = NOW(), komentar =
'$komentartamu' WHERE id_tamu = '$idtamu'";
//jalankan
$ex = mysqli_query($conn, $sql) or die("Update Gagal!!");
$result = mysqli_affected_rows($conn);
//cek jika eksekusi berhasil dilakukan
if ($result > 0) {
echo "<script>alert('insert/tambah data berhasil..');
location.href = 'read.php'; </script>";
} else {
echo "<script>alert('insert/tambah data gagal..')</script>";
}
}

//mencari data dari id yang ingin di edit


$res = mysqli_query($conn, "SELECT * FROM buku_tamu WHERE id_tamu = "
. $idtamu);
// pengambilian field table
$row = mysqli_fetch_array($res);
?>

<h2>Edit Data</h2>
<form method="POST">
<table border="1">
<tr>
<td>Nomor</td>
<!--id_tamu pertama = koneksi html dan php id_tamu kedua
nama field pada tabel database-->
<td><input type="text" name="id_tamu" readonly
value="<?php echo $row['id_tamu']; ?>"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama_tamu" value="<?php echo
$row['nama']; ?>"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email_tamu" value="<?php echo
$row['email']; ?>"></td>
</tr>
<tr>
<td>Website</td>
<td><input type="text" name="website_tamu" value="<?php
echo $row['website']; ?>"></td>
</tr>
<tr>
<td>Komentar</td>
<td><textarea name="komentar_tamu" cols="21"
rows="10"><?php echo $row['komentar']; ?></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="act" value="Update"
onclick="return confrim('Update Data ?')">
<input type="button" value="Kembali"
onclick="self.history.back()">
</td>
</tr>
</table>
</form>
<?php
}
?>

Hasil eksekusi update.php

1 Update data memiliki kesamaan antara read dan create dimana langkah awal kita harus
mengambil data mengunakan get id.

2 Langkah kedua cari data mengunakan query setelah mendapatkan data print data pada tag
input untuk membaritau data-data yang ada.

3 Setelah user menganti data maka kelanjutan code mirip dengan create hanya saja berbeda
query.

Delete.php
<?php
include "configdb.php";
if (isset($_GET['id'])) {
$idtamu = mysqli_real_escape_string($conn, $_GET['id']);
//query delete
$sql = "DELETE FROM buku_tamu WHERE id_tamu = '$idtamu'";
//jalanakn
$ex = mysqli_query($conn, $sql) or die("Delete Gagal!!");
$result = mysqli_affected_rows($conn);
//cek jika eksekusi berhasil dilakukan
if ($result > 0) {
echo "<script>alert('insert/tambah data berhasil..');
location.href = 'read.php'; </script>";
} else {
echo "<script>alert('insert/tambah data gagal..')</script>";
}
}

1 Hal pertama yang dilakukan pada delete.php adalah mengambil id mengunakan get.

2 Setelah mendapatkan id langkah selanjutnya memasukkan id kedalam query delete.

3 Dan yang terakhir melakukan pengecekan sekaligus notifikasi jika delete data sukses.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy