Truy vấn hộp tìm kiếm trong php

Hướng dẫn này sẽ dạy bạn tạo một hệ thống tìm kiếm với PHP và MySQL. Bạn sẽ học cách thiết lập HTML, cơ sở dữ liệu MySQL và phụ trợ PHP. Trong mã PHP, bạn sẽ học cách sử dụng câu lệnh chuẩn bị với toán tử LIKE trong SQL

Thiết lập cơ sở dữ liệu

Tải xuống và cài đặt máy chủ XAMPP. Nó đi kèm với MySQL. Khởi chạy shell trong bảng điều khiển XAMPP. Đăng nhập vào vỏ MySQL bằng lệnh sau

# This login command assumes that the
# password is empty and the user is "root"
mysql -u root -p

Sử dụng truy vấn SQL sau để tạo cơ sở dữ liệu có tên là

Query OK, 1 row affected (0.001 sec)
1

đầu ra

Query OK, 1 row affected (0.001 sec)

Bạn sẽ cần dữ liệu mẫu mà bạn có thể sử dụng. Vì vậy, hãy thực thi câu lệnh SQL sau trên cơ sở dữ liệu

Query OK, 1 row affected (0.001 sec)
1

CREATE TABLE fruit
(id INT NOT NULL AUTO_INCREMENT,
 name VARCHAR(20) NOT NULL,
 color VARCHAR(20) NOT NULL,
 PRIMARY KEY (id))
 ENGINE = InnoDB;

đầu ra

Query OK, 0 rows affected (0.028 sec)

Kiểm tra cấu trúc của bảng

đầu ra

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20) | NO   |     | NULL    |                |
| color | varchar(20) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

Khi bảng được thiết lập, hãy sử dụng SQL sau để chèn dữ liệu mẫu

INSERT INTO fruit (id, name, color) VALUES (NULL, 'Banana', 'Yellow'), (NULL, 'Pineapple', 'Green')

đầu ra

________số 8_______

Xác nhận sự tồn tại của dữ liệu với SQL sau

đầu ra

+----+-----------+--------+
| id | name      | color  |
+----+-----------+--------+
|  1 | Banana    | Yellow |
|  2 | Pineapple | Green  |
+----+-----------+--------+

Tạo mã HTML

Mã HTML cho hệ thống tìm kiếm là một dạng HTML. Biểu mẫu có một đầu vào biểu mẫu duy nhất và nút

Query OK, 1 row affected (0.001 sec)
3. Thuộc tính
Query OK, 1 row affected (0.001 sec)
4 trong đầu vào biểu mẫu đảm bảo người dùng nhập nội dung nào đó vào biểu mẫu

Khối mã tiếp theo là mã HTML cho biểu mẫu tìm kiếm


	
		
		Search
	

CSS sau làm cho biểu mẫu dễ nhìn hơn

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	display: grid;
	align-items: center;
	place-items: center;
	height: 100vh;
}

main {
	width: 60%;
	border: 2px solid #1560bd;
	padding: 2em;
	display: flex;
	justify-content: center;
}

input,
button {
	padding: 0.2em;
}

HTML phải giống như hình ảnh tiếp theo trong trình duyệt web của bạn

search php in mysql - HTML Search form

Tạo mã PHP

Mã PHP sẽ xử lý việc gửi biểu mẫu. Dưới đây là một bản tóm tắt về cách thức hoạt động của mã

  1. Kiểm tra biểu mẫu đã gửi của người dùng
  2. Kết nối với cơ sở dữ liệu
  3. Thoát khỏi chuỗi tìm kiếm và cắt bớt khoảng trắng
  4. Kiểm tra các ký tự không hợp lệ như
    Query OK, 1 row affected (0.001 sec)
    
    5 hoặc
    Query OK, 1 row affected (0.001 sec)
    
    6 (không có dấu ngoặc kép)
  5. Thực hiện tìm kiếm thông qua một tuyên bố chuẩn bị
  6. Trả kết quả

Khối mã tiếp theo là mã PHP hoàn chỉnh để thực hiện tìm kiếm. Lưu mã vào một tệp có tên là

Query OK, 1 row affected (0.001 sec)
7

Query OK, 1 row affected (0.001 sec)
0

Hình ảnh tiếp theo chứa kết quả cho chuỗi tìm kiếm

Query OK, 1 row affected (0.001 sec)
8. Nó trả về quả
Query OK, 1 row affected (0.001 sec)
9 và màu sắc của nó

Các kết quả trong ví dụ trên được tìm thấy trong một tệp XML (liên kết. xml). Để làm cho ví dụ này nhỏ và đơn giản, chỉ có sáu kết quả có sẵn


Giải thích ví dụ - Trang HTML

Khi người dùng nhập một ký tự vào trường nhập liệu ở trên, hàm "showResult()" được thực thi. Chức năng được kích hoạt bởi sự kiện "onkeyup"









Giải thích mã nguồn

Nếu trường đầu vào trống (chuỗi. length==0), hàm sẽ xóa nội dung của trình giữ chỗ tìm kiếm trực tiếp và thoát khỏi hàm

Nếu trường đầu vào không trống, hàm showResult() sẽ thực hiện như sau

  • Tạo một đối tượng XMLHttpRequest
  • Tạo chức năng sẽ được thực thi khi phản hồi của máy chủ đã sẵn sàng
  • Gửi yêu cầu đến một tệp trên máy chủ
  • Lưu ý rằng một tham số (q) được thêm vào URL (với nội dung của trường đầu vào)


Tệp PHP

Trang trên máy chủ được gọi bởi JavaScript ở trên là một tệp PHP có tên "livesearch. php"

Mã nguồn trong "livesearch. php" tìm kiếm một tệp XML cho các tiêu đề khớp với chuỗi tìm kiếm và trả về kết quả

Làm cách nào để viết mã cho hộp tìm kiếm trong PHP?

php $query = $_GET['query']; // nhận giá trị được gửi qua biểu mẫu tìm kiếm $min_length = 3; .

Làm cách nào để kết nối thanh tìm kiếm với cơ sở dữ liệu PHP?

Thiết lập cơ sở dữ liệu . Open XAMPP and Start Apache and MySQL. Nhấp vào “Mới”. Tạo một cơ sở dữ liệu có tên là “autocomplete” (hoặc bất cứ thứ gì bạn muốn gọi nó). Sao chép và dán truy vấn sau để tạo Bảng (tìm kiếm), Tên cột (Id, Name), sau đó chèn dữ liệu giả.

Làm cách nào để sử dụng chức năng tìm kiếm trong PHP?

Mảng_search() là một hàm sẵn có trong PHP được dùng để tìm kiếm một giá trị cụ thể trong một mảng và nếu giá trị được tìm thấy thì nó sẽ trả về khóa tương ứng của nó< . Nếu có nhiều hơn một giá trị thì khóa của giá trị khớp đầu tiên sẽ được trả về. . If there are more than one values then the key of the first matching value will be returned.

Làm cách nào để tạo hộp tìm kiếm động trong PHP?

php $connect = PDO mới("mysql. host=localhost;dbname=testing", "root", ""); if(isset($_POST["type"])) { if($_POST["type"] == "category_data") { $query =