August 2, 2020

Mawan.my.id

Blog Mawan di DobelHost

cari2.php

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

 

Leave a Reply

Your email address will not be published. Required fields are marked *