<?php
include("koneksi.php");
?>
<html>
<head>
<title>Cari</title>
<link rel="stylesheet" type="text/css" href="gaya.css">
</head>
<body>
<?php
include('menu.php');
echo '<p>Mencari satu atau lebih record</p>';
$nama = isset($_POST['nama']) ? $_POST['nama'] : '';
$stmt = $pdo->prepare('SELECT * FROM tugas1 WHERE nama LIKE ?');
$stmt->execute(['%' . $nama . '%']);
$total = $stmt->rowCount();
if ($total > 0) {
echo '<p>Ditemukan ' . $total . ' buah record.</p>';
echo '<table class="tabel">';
echo '<tr>';
echo '<th>Username</th>';
echo '<th>Password (md5)</th>';
echo '<th>Nama lengkap</th>';
echo '<th>Tanggal lahir</th>';
echo '<th>Nilai</th>';
echo '</td>';
// Tampilkan setiap data yang terpilih hasil dari query di atas.
while ($row = $stmt->fetch()) {
echo '<tr>';
echo '<td>'. $row['username'] . '</td>';
echo '<td>'. $row['password'] . '</td>';
echo '<td>'. $row['nama'] . '</td>';
echo '<td>'. $row['lahir'] . '</td>';
echo '<td>'. $row['nilai'] . '</td>';
echo '</tr>';
};
echo '</table>';
}
else {
echo '<p>Data tidak ditemukan.</p>';
};
?>
</body>
</html>
Kode di baris 16 bisa dijabarkan menjadi:
if (isset($_POST['nama'])) {
$nama = $_POST['nama'];
}
else {
$nama = '';
}
Fungsi isset(x) untuk memeriksa apakah ada variabel x;
Kita tidak bisa langsung menulis $nama = $_POST[‘nama’] sebab bila variabel $_POST[‘nama’] tidak ada atau belum didéfinisikan, maka program akan terhenti disertai pesan error.
Perhatikan baris 18.
Perintah SQL yang sebenarnya adalah: SELECT * FROM tugas1 WHERE nama LIKE “%wa%”
Yang kira-kira berarti: “Pilih semua record dari tabel tugas1 yang namanya mengandung string “wa”. Contohnya: Mawan, Wandi, dan Dewa.
Karena %wa% termasuk di dalam parameter, tidak bisa ditulis dengan:
$stmt = $pdo->prepare('SELECT * FROM tugas1 WHERE nama LIKE %?%');
$stmt->execute([$nama]);