<?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]);