Kode Cari Data Menggunakan PHP dan Mysqli
Membuat pencarian dengan menggunakan bahasa pemprograman PHP dan MySQL - Suatu program atau aplikasi biasanya membutuhkan kolom pencarian atau searching data agar mempermudah user untuk mencari data dan pada tutorial kali ini saya akan membagikan lagi tutorial PHP dan MySQL.
Daftar Isi
PERSIAPAN
Sebelum mengikuti tutorial ini pastikan kamu sudah menginstal XAMPP terbaru karena disini saya menggunakan PHP 7 jadi Query SQL yang digunakan yaitu MySQLi. Selain itu kamu juga harus memahami cara menjalankan script php di localhost dan membuat database di phpmyadmin.
Baca juga :
Jika persiapan sudah terpenuhi maka selanjutnya kamu harus memahami terlebih dahulu contoh kasus agar kamu mengerti program yang akan dibuat. Lalu langkah berikutnya yaitu membuat programnya.
CONTOH KASUS
1. Kasus pertama user ingin mencari data bedasarkan nama saja.
2. Kasus kedua user ingin mencari data berdasarkan kode_baang, nama, dan jumlah.
PROGRAM / APLIKASI KASUS PERTAMA
Buat folder di localhost "C:\xampp\htdocs" dengan nama "belajar_php".
Buat database dengan nama "db_cari" lalu buat tabel dan isian sebagai berikut.Jika kamu ingin cepat silahkan "import" saja database berikut.
-- phpMyAdmin SQL DumpPastikan kamu mengimport database dengan benar.
-- version 4.9.2
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Jul 06, 2020 at 06:34 AM
-- Server version: 10.5.3-MariaDB
-- PHP Version: 7.4.1
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `db_cari`
--
-- --------------------------------------------------------
--
-- Table structure for table `barang`
--
CREATE TABLE `barang` (
`kode_barang` varchar(50) DEFAULT NULL,
`nama_barang` varchar(50) DEFAULT NULL,
`jumlah` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `barang`
--
INSERT INTO `barang` (`kode_barang`, `nama_barang`, `jumlah`) VALUES
('B001', 'Sepedah', 3),
('B002', 'Motor', 2),
('B003', 'Mobil', 5);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Selanjutnya kamu buat file "koneksi.php" dengan menggunakan text editor seperti notepad atau sejenisnya lalu ketikan kode di bawah ini.
<?phpBuat file baru dengan nama "index.php" lalu ketikan kode berikut.
$host = "localhost";
$user = "root";
$pass = "";
$db = "db_cari";
$koneksi = mysqli_connect($host,$user,$pass,$db);
if(!$koneksi) {
die("Koneksi dengan database gagal: ".mysql_connect_error());
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Belajar PHP</title>
</head>
<body>
<h1>Pencarian Barang - Share28s.COM</h1>
<form method="GET" action="index.php" >
<label>Kata Pencarian : </label>
<input type="text" name="kata_cari" value="<?php if(isset($_GET['kata_cari'])) { echo $_GET['kata_cari']; } ?>" />
<button type="submit">Cari</button>
</form>
<br/>
<table border="1">
<thead>
<tr>
<th>Kode Barang</th>
<th>Nama Barang</th>
<th>Jumlah</th>
</tr>
</thead>
<tbody>
<?php
//untuk menyambungkan dengan file koneksi.php
include('koneksi.php');
//jika kita klik cari, maka yang tampil query cari ini
if(isset($_GET['kata_cari'])) {
//menampung variabel kata_cari dari form pencarian
$kata_cari = $_GET['kata_cari'];
//mencari data dengan menggunakan query
$query = "SELECT * FROM barang WHERE nama_barang like '%".$kata_cari."%' ORDER BY kode_barang ASC";
} else {
//jika tidak ada pencarian, default yang dijalankan query ini
$query = "SELECT * FROM barang ORDER BY kode_barang ASC";
}
$result = mysqli_query($koneksi, $query);
if(!$result) {
die("Query Error : ".mysqli_errno($koneksi)." - ".mysqli_error($koneksi));
}
//kalau ini melakukan foreach atau perulangan
while ($row = mysqli_fetch_assoc($result)) {
?>
<tr>
<td><?php echo $row['kode_barang']; ?></td>
<td><?php echo $row['nama_barang']; ?></td>
<td><?php echo $row['jumlah']; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
Hasil Program Pertama
Cek hasil program dengan cara ketikan "localhost/belajar_php" pada web browser seperti google chrome dan sejenisnya.
PROGRAM / APLIKASI KASUS KEDUA
Cara membuat kasus kedua ini sama dengan kasus pertama hanya saja yang membedakan perintah query di file "index.php" jadi silahkan ubah file "index.php" saja. berikut index.php kasus kedua.
<!DOCTYPE html>
<html>
<head>
<title>Belajar PHP</title>
</head>
<body>
<h1>Pencarian Barang - Share28s.COM</h1>
<form method="GET" action="index.php" >
<label>Kata Pencarian : </label>
<input type="text" name="kata_cari" value="<?php if(isset($_GET['kata_cari'])) { echo $_GET['kata_cari']; } ?>" />
<button type="submit">Cari</button>
</form>
<br/>
<table border="1">
<thead>
<tr>
<th>Kode Barang</th>
<th>Nama Barang</th>
<th>Jumlah</th>
</tr>
</thead>
<tbody>
<?php
//untuk menyambungkan dengan file koneksi.php
include('koneksi.php');
//jika kita klik cari, maka yang tampil query cari ini
if(isset($_GET['kata_cari'])) {
//menampung variabel kata_cari dari form pencarian
$kata_cari = $_GET['kata_cari'];
// mencari data dengan query
$query = "SELECT * FROM barang WHERE kode_barang like '%".$kata_cari."%' OR nama_barang like '%".$kata_cari."%' OR jumlah like '%".$kata_cari."%' ORDER BY kode_barang ASC";
} else {
//jika tidak ada pencarian, default yang dijalankan query ini
$query = "SELECT * FROM barang ORDER BY kode_barang ASC";
}
$result = mysqli_query($koneksi, $query);
if(!$result) {
die("Query Error : ".mysqli_errno($koneksi)." - ".mysqli_error($koneksi));
}
//kalau ini melakukan foreach atau perulangan
while ($row = mysqli_fetch_assoc($result)) {
?>
<tr>
<td><?php echo $row['kode_barang']; ?></td>
<td><?php echo $row['nama_barang']; ?></td>
<td><?php echo $row['jumlah']; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
Hasil Program Kedua
Cek hasil program dengan cara ketikan "localhost/belajar_php" pada web browser seperti google chrome dan sejenisnya.
Penjelasan Coding
Perhatikan struktur coding berikut.
<h1>Pencarian Barang - Share28s.COM</h1>Pada coding tersebut action di proses melalui "index.php" itu sendiri dan data yang dikirim menggunakan methode "GET". Dalam artian data dari form akan dikirim melalui url.
<form method="GET" action="index.php" >
<label>Kata Pencarian : </label>
<input type="text" name="kata_cari" value="<?php if(isset($_GET['kata_cari'])) { echo $_GET['kata_cari']; } ?>" />
<button type="submit">Cari</button>
</form>
Selanjutnya perhatikan coding berikut.
Coding Kasus pertama
<?php
include('koneksi.php');
if(isset($_GET['kata_cari'])) {
$kata_cari = $_GET['kata_cari'];
$query = "SELECT * FROM barang WHERE nama_barang like '%".$kata_cari."%' ORDER BY kode_barang ASC";
} else {
$query = "SELECT * FROM barang ORDER BY kode_barang ASC";
}
$result = mysqli_query($koneksi, $query);
if(!$result) {
die("Query Error : ".mysqli_errno($koneksi)." - ".mysqli_error($koneksi));
}
while ($row = mysqli_fetch_assoc($result)) {
?>
Coding Kasus Kedua
<?phpPada kedua kasus coding tersebut sudah include koneksi.php dan fungsi coding tersebut mencari data berdasarkan data yang dicari melalui perintah "$query" menggunakan methode "GET".
include('koneksi.php');
if(isset($_GET['kata_cari'])) {
$kata_cari = $_GET['kata_cari'];
$query = "SELECT * FROM barang WHERE kode_barang like '%".$kata_cari."%' OR nama_barang like '%".$kata_cari."%' OR jumlah like '%".$kata_cari."%' ORDER BY kode_barang ASC";
} else {
$query = "SELECT * FROM barang ORDER BY kode_barang ASC";
}
$result = mysqli_query($koneksi, $query);
if(!$result) {
die("Query Error : ".mysqli_errno($koneksi)." - ".mysqli_error($koneksi));
}
while ($row = mysqli_fetch_assoc($result)) {
?>
Coding perintah query mencari berdasarkan nama barang saja (Kasus Pertama)
$query = "SELECT * FROM barang WHERE nama_barang like '%".$kata_cari."%' ORDER BY kode_barang ASC";Coding perintah query mencari berdasarkan kode_barang, nama_barang, jumlah (Kasus Kedua)
$query = "SELECT * FROM barang WHERE kode_barang like '%".$kata_cari."%' OR nama_barang like '%".$kata_cari."%' OR jumlah like '%".$kata_cari."%' ORDER BY kode_barang ASC";Jika tidak ada maka perintah query akan menampilkan semua data barang.
$query = "SELECT * FROM barang ORDER BY kode_barang ASC";dan data yang ditampilkan akan di masukan ke dalam tabel dengan coding berikut.
<tr>
<td><?php echo $row['kode_barang']; ?></td>
<td><?php echo $row['nama_barang']; ?></td>
<td><?php echo $row['jumlah']; ?></td>
</tr>
PENUTUP
Sampai sini kamu sudah bisa membuat pencarian atau search menggunakan bahasa pemprograman PHP dan MySQL. langkah selanjutnya kamu harus mencoba berlatih membuat CRUD dengan mengikuti tutorial yang ada pada website ini. Silahkan pilih tutorial yang kamu sukai di menu bagian kanan pada website ini.
Bagikan postingan ini jika bermanfaat. Terimakasih!
Posting Komentar untuk "Kode Cari Data Menggunakan PHP dan Mysqli"
Posting Komentar
Silahkan komentar dengan bijak jika ada yang ingin ditanyakan.