Mantap 👍
Sekarang kita lanjut UPDATE & SELECT dengan gaya pelan-pelan, rapi, dan konsisten OOP, biar nyambung sama yang sudah kamu pahami.
Aku akan pakai mysqli + prepared statement seperti sebelumnya.
STRUKTUR SEDERHANA (BIAR KEBAYANG)
Salin kode
config/
└─ database.php
models/
└─ Buku.php
index.php
1️⃣ UPDATE DATA (EDIT)
📌 Kasus
Misal kita mau edit data buku berdasarkan id
🔹 Method update() di models/Buku.php
Salin kode
Php
class Buku {
private $conn;
private $table = "buku";
public $id;
public $judul;
public $pengarang;
public $penerbit;
public $tahunterbit;
public function __construct($db){
$this->conn = $db;
}
// UPDATE DATA
public function update(){
$query = "UPDATE " . $this->table . "
SET judul=?, pengarang=?, penerbit=?, tahunterbit=?
WHERE id=?";
$stmt = mysqli_prepare($this->conn, $query);
// bind parameter
mysqli_stmt_bind_param(
$stmt,
"ssssi",
$this->judul,
$this->pengarang,
$this->penerbit,
$this->tahunterbit,
$this->id
);
return mysqli_stmt_execute($stmt);
}
}
🔍 Penjelasan pelan-pelan
Query:
Salin kode
Sql
UPDATE buku SET ... WHERE id=?
"ssssi" artinya:
Parameter
Tipe
judul
s
pengarang
s
penerbit
s
tahunterbit
s
id
i
🔹 Cara PAKAI (misal di index.php)
Salin kode
Php
$buku = new Buku($conn);
$buku->id = 1;
$buku->judul = "PHP OOP UPDATE";
$buku->pengarang = "Ihsan";
$buku->penerbit = "BANY URIP";
$buku->tahunterbit = "2024";
if($buku->update()){
echo "Data berhasil diupdate";
}else{
echo "Gagal update data";
}
2️⃣ SELECT SATU DATA (DETAIL / EDIT FORM)
📌 Kasus
Ambil 1 data buku berdasarkan id
🔹 Method getOne() di Buku.php
Salin kode
Php
public function getOne(){
$query = "SELECT * FROM " . $this->table . " WHERE id=? LIMIT 1";
$stmt = mysqli_prepare($this->conn, $query);
mysqli_stmt_bind_param($stmt, "i", $this->id);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
return mysqli_fetch_assoc($result);
}
🔹 Cara PAKAI
Salin kode
Php
$buku = new Buku($conn);
$buku->id = 1;
$data = $buku->getOne();
echo $data['judul'];
📌 Biasanya ini dipakai untuk:
Isi form edit
Detail data
3️⃣ SELECT SEMUA DATA (LIST / TABEL)
🔹 Method getAll()
Salin kode
Php
public function getAll(){
$query = "SELECT * FROM " . $this->table . " ORDER BY id DESC";
$stmt = mysqli_prepare($this->conn, $query);
mysqli_stmt_execute($stmt);
return mysqli_stmt_get_result($stmt);
}
🔹 Cara PAKAI (Loop)
Salin kode
Php
$buku = new Buku($conn);
$result = $buku->getAll();
while($row = mysqli_fetch_assoc($result)){
echo $row['judul'] . "<br>";
}
4️⃣ HUBUNGAN DENGAN FORM EDIT KAMU
Flow yang BENAR & PROFESIONAL:
🔹 Halaman edit
SELECT → isi form (readonly)
Klik Edit → JS buka field
Klik Simpan → UPDATE
5️⃣ KESALAHAN UMUM (YANG SERING TERJADI)
❌ Lupa WHERE id=? → semua data terupdate
❌ Salah "ssssi"
❌ id bukan integer
❌ Akses properti private langsung
6️⃣ RANGKUMAN SUPER SINGKAT
Operasi
Method
CREATE
create()
READ (1)
getOne()
READ (all)
getAll()
UPDATE
update()
🔥 NEXT LEVEL (PILIHAN)
Kalau mau lanjut, aku bisa ajarin:
1️⃣ DELETE (hapus data)
2️⃣ Integrasi ke AdminLTE Form Edit
3️⃣ MVC sederhana (Controller)
4️⃣ Validasi & Security Form
5️⃣ Ajax Update tanpa reload
Tinggal bilang:
LANJUT DELETE
atau
LANJUT FORM ADMINLTE
Desember 20, 2025



0 komentar:
Posting Komentar