I am currently trying to complete a project where the specifications are to use a search form to search through a packaging database. The database has lots of variables ranging from Sizes, names, types and meats. I need to create a search form where users can search using a number of different searches (such as searching for a lid tray that is 50 cm long).
I have spent all day trying to create some PHP code that can search for info within a test database I created. I have had numerous amounts of errors ranging from mysql_fetch_array errors, boolean errors and now currently my latest error is that my table doesn’t seem to exist. Although i can enter data into it (html and php pages where I can enter data), I don’t know what is causing this and I have started again a few times now.
Can anyone give me some idea or tips of what I am going to have to do currently? Here is just my small tests at the moment before I move onto the actual sites SQL database.
Creation of database:
HTML search form page:
The PHP code I am using to attempt to gather info from the database (I have rewritten this a few times, this code also displays the “table.liam doesn’t exist”)
Code: ' .$row['Code']; echo ' Description: '.$row['Description']; echo ' Category: '.$row['Category']; echo ' Cut Size: '.$row['CutSize']; } mysql_close($con) ?>
You can create an HTML form that allows you to search records in your MySQL Tables and print the results in a web browser.
In these project we use LIKE and wildcards for the query so that users do not have to have an exact match for results to be provided.
Simple Search Form Project
search.html
phpSearch.php
connect_error){ die("Connection failed: ". $conn->connect_error); } $sql = "select * from students where name like '%$search%'"; $result = $conn->query($sql); if ($result->num_rows > 0){ while($row = $result->fetch_assoc() ){ echo $row["name"]." ".$row["age"]." ".$row["gender"].""; } } else { echo "0 records"; } $conn->close(); ?>
Option Box Search Form Project
searchoption.html
phpSearchOption.php
connect_error){ die("Connection failed: ". $conn->connect_error); } $sql = "select * from students where $column like '%$search%'"; $result = $conn->query($sql); if ($result->num_rows > 0){ while($row = $result->fetch_assoc() ){ echo $row["name"]." ".$row["age"]." ".$row["gender"].""; } } else { echo "0 records"; } $conn->close(); ?>
Bước 1 : Đầu tiên chúng ta mở lại file index.php đã được tạo ở Phần 1 và xây dựng cấu trúc HTML cho form tìm kiếm gồm một input và 2 nút submit là đủ. 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.
Bước 2 : Xử lý tìm kiếm với lệnh LIKE trong MySQL. Tham khảo full đoạn code dưới đây nhé :
Bước 3 : Chạy lại file index.php, chúng ta nhận được danh sách sinh viên ban đầu :
Vào ô tìm kiếm, ví dụ ta sẽ tìm kiếm những bạn sinh năm 1998 rồi ấn nút Tìm thì chúng ta sẽ nhận đươc kết quả này:
Còn ví dụ chúng ta tìm kiếm danh sách sinh viên có tên là Lan thì chúng sẽ trả về kết quả rỗng :
Nguồn Devmaster Academy
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp – FullStack |
Lập trình ứng dụng trên nền tảng android |
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS – FullStack |
Lập trình ứng dụng với WINDOWS FORM |
Lập trình ứng dụng với JAVA (FORM) |
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,…) – FullStack |
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery |
Lập trình frontend với reacjs (Full) |
Sau khi đọc xong bài viết này bạn sẽ xây dựng được chức năng tìm kiếm đơn giản trong PHP. Truy vấn sẽ thực thi tìm kiếm các từ khóa giống như từ mà bạn đang tìm kiếm bằng cách sử dụng LIKE. Vậy cách thực hiện như thế nào hãy xem chi tiết bài này của mình.
Công việc khá đơn giản bạn chỉ cần tạo ra một tập tin là
search.php
với nội dung như sau
AJAX Live Search
The following example will demonstrate a live search, where you get search results while you type.
Live search has many benefits compared to traditional searching:
- Results are shown as you type
- Results narrow as you continue typing
- If results become too narrow, remove characters to see a broader result
Search for a W3Schools page in the input field below:
The results in the example above are found in an XML file (links.xml). To make this example small and simple, only six results are available.
The PHP File
The page on the server called by the JavaScript above is a PHP file called “livesearch.php”.
The source code in “livesearch.php” searches an XML file for titles matching the search string and returns the result:
$xmlDoc=new DOMDocument();
$xmlDoc->load(“links.xml”);
$x=$xmlDoc->getElementsByTagName(‘link’);
//get the q parameter from URL
$q=$_GET[“q”];
//lookup all links from the xml file if length of q>0
if (strlen($q)>0) {
$hint=””;
for($i=0; $i<($x->length); $i++) {
$y=$x->item($i)->getElementsByTagName(‘title’);
$z=$x->item($i)->getElementsByTagName(‘url’);
if ($y->item(0)->nodeType==1) {
//find a link matching the search text
if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) {
if ($hint==””) {
$hint=”
” .
$y->item(0)->childNodes->item(0)->nodeValue . “”;
} else {
$hint=$hint . ”
” .
$y->item(0)->childNodes->item(0)->nodeValue . “”;
// Set output to “no suggestion” if no hint was found
// or to the correct values
if ($hint==””) {
$response=”no suggestion”;
} else {
$response=$hint;
//output the response
echo $response;
?>
If there is any text sent from the JavaScript (strlen($q) > 0), the following happens:
- Load an XML file into a new XML DOM object
- Loop through all
elements to find matches from the text sent from the JavaScript
- Sets the correct url and title in the “$response” variable. If more than one match is found, all matches are added to the variable
- If no matches are found, the $response variable is set to “no suggestion”
Kết quả
…
Với đoạn mã nó sẽ hoạt động như sau:
- Đầu tiên dữ liệu đưa vào input và lấy từ name=”search”
- if(ISSET($_POST[‘submit’])) sẽ kiểm tra button xem người dùng đã nhấp chuột chưa
- Nếu nhấp chuột thì dữ liệu được truyền từ name là search sang một biến $keyword
- Sử dụng mệnh đề LIKE ‘%$keyword%’ nó sẽ tìm bất kỳ giá trị nào bằng với $keyword
- Cuối cùng sử dụng vòng lặp để in dữ liệu đã tìm thấy lên màn hình
- SELECT * FROM `posts` là bảng posts trên Database bạn phải điền đúng
- WHERE `title`: title là cột trong CSDL
Đây là bài tập đơn giản nhưng qua đây bạn sẽ hiểu được cách sử dụng mệnh đề LIKE để tìm kiếm trong PHP và MySQL. Sau khi làm xong bài này bạn sẽ xây dựng nên chức năng phức tạp hơn bằng cách kết hợp jQuery,
PHP Example – AJAX Live Search
AJAX can be used to create more user-friendly and interactive searches.
Example Explained – The HTML Page
When a user types a character in the input field above, the function “showResult()” is executed. The function is triggered by the “onkeyup” event:
Source code explanation:
If the input field is empty (str.length==0), the function clears the content of the livesearch placeholder and exits the function.
If the input field is not empty, the showResult() function executes the following:
- Create an XMLHttpRequest object
- Create the function to be executed when the server response is ready
- Send the request off to a file on the server
- Notice that a parameter (q) is added to the URL (with the content of the input field)
Keywords searched by users: search form php mysql
Categories: Cập nhật 19 Search Form Php Mysql
See more here: kientrucannam.vn
See more: https://kientrucannam.vn/vn/