Xem 31,185
Cập nhật nội dung chi tiết về Xây Dựng Chức Năng Tìm Kiếm Với Lệnh Like Trong Php mới nhất ngày 22/05/2022 trên website Jetstartakeontheworld.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến nay, bài viết này đã thu hút được 31,185 lượt xem.
--- Bài mới hơn ---
1. Xây dựng Cơ sở dữ liệu để tìm kiếm
/* SQLyog Ultimate - MySQL GUI v8.21 MySQL - 5.5.20 : Database - basic ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`basic` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `basic`; /*Table structure for table `users` */ DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `password` char(32) COLLATE utf8_unicode_ci DEFAULT NULL, `email` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `address` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*Data for the table `users` */ insert into `users`(`user_id`,`username`,`password`,`email`,`address`) values (1,'kaito','456','[email protected]','House USA'),(2,'thehaftheart','456','[email protected]','House USA'),(3,'superkaito','456','[email protected]','House Viet Nam'),(4,'kaitosolo','1789','[email protected]ô.com','abc/fdc'),(5,'van canh','798','[email protected]','Bien hoa'),(6,'yongc','789','[email protected]','Bien Hoa'),(7,'haftheart789','789','[email protected]','Ha tinh'),(8,'yongc456','56465','[email protected]','Bien Hoa 2'),(9,'van canh456','564564','[email protected]','Bien Hoa 3'),(10,'kaitocode','87897','[email protected]','TPHCM'); /*!40101 SET [email protected]_SQL_MODE */; /*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */; /*!40014 SET [email protected]_UNIQUE_CHECKS */; /*!40111 SET [email protected]_SQL_NOTES */;
2. Xây dựng Form tìm kiếm
Bạn tạo file search.php
và xây dựng cấu trúc HTML cho form tìm kiếm như sau:
- Gồm một
input
và một nútsubmit
là đủ cho bài học này rồi, do chúng ta phải truyền đối số vào url nên chúng ta đặt method của form bằng phương thức GET. - Action của Form tôi trỏ đến file hiện tại luôn nên tất cả code PHP xử lý tìm kiếm tôi sẽ đặt trong file này luôn.
<?php // Phần code PHP xử lý tìm kiếm
Trong đoạn code trên mình có khai báo một vị trí dùng để code PHP, như vậy ta sẽ code PHP xử lý tìm kiếm tại vị trí đó. Khâu chuẩn bị xem như hoàn tất, bây giờ đến phần sử dụng php kết nối với mysql để xử và show dữ liệu từ database ra ngoài.
3. Cần phải hiểu trước khi làm bài
Trước tiên chúng ta cần kiểm tra người dùng có nhấn vào button tìm kiếm hay không? Bắt buộc chúng ta phải thực hiện bước này tại vì khi submit mới cần xử lý truy vấn database để lấy thông tin tìm kiếm.
Bình thường việc check submit form ta sẽ dùng biến $_POST
nhưng vì chúng ta sử dụng phương thức GET nên ta phải sử dụng biến $_GET
để kiểm tra. Nhưng trong bài này tôi sẽ thay thế $_GET
bằng một biến môi trường khác chính là $_REQUEST
có tác dụng là nhận request từ cả 2 phương thức trên.
if (isset($_REQUEST); if (empty($search)) { echo "Yeu cau nhap du lieu vao o trong"; } else { // Phan dung vong lap while show du lieu } }
4. Xử lý tìm kiếm với lệnh Like trong MySql
<?php
// Nếu người dùng submit form thì thực hiện
if (isset($_REQUEST);
// Nếu $search rỗng thì báo lỗi, tức là người dùng chưa nhập liệu mà đã nhấn submit.
if (empty($search)) {
echo "Yeu cau nhap du lieu vao o trong";
}
else
{
// Dùng câu lênh like trong sql và sứ dụng toán tử % của php để tìm kiếm dữ liệu chính xác hơn.
$query = "select * from users where username like '%$search%'";
// Kết nối sql
mysql_connect("localhost", "root", "vertrigo", "basic");
// Thực thi câu truy vấn
$sql = mysql_query($query);
// Đếm số đong trả về trong sql.
$num = mysql_num_rows($sql);
// Nếu có kết quả thì hiển thị, ngược lại thì thông báo không tìm thấy kết quả
{
// Dùng $num để đếm số dòng trả về.
// Vòng lặp while & mysql_fetch_assoc dùng để lấy toàn bộ dữ liệu có trong table và trả về dữ liệu ở dạng array.
while ($row = mysql_fetch_assoc($sql)) {
}
}
else {
echo "Khong tim thay ket qua!";
}
}
}
Như vậy là xong rồi đấy 🙂
5. Lời kết
Hy vọng qua bài viết đơn giản này sẽ giúp các bạn có cái nhìn toàn diện hơn về cách xây dựng một chức năng tìm kiếm với lệnh LIKE trong php và MYSQL, từ đó đào sâu và phát triển hơn nửa để có thể đáp ứng được một số yêu cầu tìm kiếm dữ liệu chuyên sâu hơn. Hẹn gặp các bạn ở các bài tiếp theo ^^.
--- Bài cũ hơn ---
Bạn đang đọc nội dung bài viết Xây Dựng Chức Năng Tìm Kiếm Với Lệnh Like Trong Php trên website Jetstartakeontheworld.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!