Simple Search Engine In Php
Creating A Simple Search Engine In PHP
Introduction:
Ini yakni yang pertama dalam apa yang saya harap akan menjadi daftar panjang tutorial yang saya suka sebut Pemrograman Mudah di PHP. Mari kita mulai dengan bisnis, hari ini saya akan menawarkan kepada Anda cara menciptakan mesin pencari sederhana yang sanggup Anda gunakan untuk situs Anda sendiri atau proyek lain yang mungkin Anda kerjakan. Untuk tutorial ini saya akan memakai database MySQL. Sebagian besar isyarat harus kompatibel dengan PHP 3 dan 4.
Sebelum memulai, saya akan menawarkan kepada Anda data yang akan saya gunakan dalam contoh:
First_Name | Middle_Name | Last_Name |
blabla | blabla | blabla |
blabla | blabla | blabla |
blabla | blabla | blabla |
Sebelum kita benar-benar menciptakan mesin pencari, kita perlu menciptakan halaman web dasar yang akan mempunyai bidang input di mana pengguna sanggup memasukkan ajakan pencariannya. Saya akan mulai dengan yang sederhana; jangan ragu untuk menciptakan yang rumit dengan banyak lonceng dan peluit. Kode untuk halaman saya di bawah ini:
<html> <head> <title>Simple Search Engine </title> </head> <body> <center> Enter the first, last, or middle name of the person you are looking for: <form action="search.php" method="post"> <input type="text" name="search_query" maxlength="25" size="15"><br> <input type="reset" name="reset" value="Reset"> <input type="text" name="submit" value="Submit"> </form> </center> </body> </html>
Sekarang sehabis halamannya keluar, mari buat skrip yang sebenarnya. Pertama, kita perlu terhubung ke database memakai mysql_pconnect () dan pilih tabel memakai mysql_select_db (). Selanjutnya, kami ingin mem-parsing nilai yang diteruskan ke skrip untuk melihat apakah nilai tersebut berisi input yang tidak valid, menyerupai angka dan aksara yang funky menyerupai # & * ^. Anda harus selalu memvalidasi masukan, jangan bergantung pada hal-hal menyerupai JavaScript untuk melakukannya untuk Anda, sebab sehabis pengguna menonaktifkan JavaScript, semua validasi suka itu turun ke toilet. Untuk menyidik input kita akan memakai lisan reguler, mereka sedikit membingungkan dan akan dijelaskan dalam tutorial nanti. Untuk ketika ini, semua yang perlu Anda ketahui yakni bahwa ini akan menyidik apakah nilai yang dilewatkan yakni serangkaian karakter. Baiklah, cukup obrolan, di sini yakni belahan pertama dari skrip:
<?php mysql_pconnect("host", "username", "password") or die("Can't connect!"); mysql_select_db("Names") or die("Can't select database!"); if (!eregi("[[:alpha:]]", $search_query)) { echo "Error: you have entered an invalid query, you can only use characters!<br>"; exit; }
$query= mysql_query("SELECT * FROM some_table WHERE First_Name= '$search_query' OR Middle_Name= '$search_query' OR Last_Name= '$search_query' ORDER BY Last_Name");
Sisa pengkodean dari kini sangat mudah. Kami akan mendapat hasil dari kueri memakai mysql_fetch_array (), dan periksa untuk melihat apakah ada kecocokan memakai mysql_num_rows (). Jika ada kecocokan, atau kecocokan, kami akan menampilkannya bersama dengan jumlah kecocokan yang ditemukan; bila tidak ada, kami akan melaporkan kepada pengguna bahwa kami tidak sanggup menemukan apa pun.
$result= mysql_num_rows($query); if ($result == 0) { echo "Sorry, I couldn't find any user that matches your query ($search_query)"; exit; } else if ($result == 1) { echo "I've found <b>1</b> match!<br>"; } else { echo "I've found <b>$result</b> matches! <br>"; } while ($row= mysql_fetch_array($query)) { $first_name= $row["First_Name"]; $middle_name = $row["Middle_Name"]; $last_name = $row["Last_Name"]; echo "The first name of the user is: $first_name.<br>"; echo "The middle name of the user is: $middle_name.<br>"; echo "The last name of the user is: $last_name.<br>"; } ?>
<html> <head> <title>Simple Search Engine version 1.0 - Results </title> </head> <body> <?php mysql_pconnect("host", "username", "password") or die("Can't connect!"); mysql_select_db("Names") or die("Can't select database!"); if (!eregi("[[:alpha:]]", $search_query)) { echo "Error: you have entered an invalid query, you can only use characters!<br>"; exit; //No need to execute the rest of the script. } $query= mysql_query("SELECT * FROM some_table WHERE First_Name='$search_query' OR Middle_Name= '$search_query' OR Last_Name='$search_query' ORDER BY Last_Name"); $result= mysql_numrows($query); if ($result == 0) { echo "Sorry, I couldn't find any user that matches your query ($search_query)"; exit; //No results found, why bother executing the rest of the script? } else if ($result == 1) { echo "I've found <b>1</b> match!<br>"; } else { echo "I've found <b>$result</b> matches!<br>"; } while ($row= mysql_fetch_array($query)) { $first_name= $row["First_Name"]; $middle_name = $row["Middle_Name"]; $last_name = $row["Last_Name"]; echo "The first name of the user is: $first_name.<br>"; echo "The middle name of the user is: $middle_name.<br>"; echo "The last name of the user is: $last_name. <br>"; } ?> </body> </html>
Conclusion:
Nah itu membungkus belahan 1 dari seri Programming Praktis. Itu halaman yang saya buat sangat sederhana sebab fokusnya ada pada skrip. Kamu harus meramaikan halaman Anda dengan gambar dan pengaruh keren lainnya.
Last updated: 18/11/30