Heim > Backend-Entwicklung > PHP-Tutorial > php中实现搜索框

php中实现搜索框

WBOY
Freigeben: 2016-06-23 14:19:28
Original
4534 Leute haben es durchsucht

我做出来的网页效果是这样的:

怎样才能更具搜索框中的关键字在第二个页面显示搜索结果呢?

我的代码如下:
这是html的代码:

 <form method="post" action="result.php" class="search"><input type="text" size="30"  id="inputString" onkeyup="lookup(this.value);" onblur="fill();" /><input type="submit" value="搜索" id="send" /><div class="suggestionsBox" id="suggestions" style="display: none;">				<img src="../images/upArrow.png"   style="max-width:90%" alt="upArrow" />				<div class="suggestionList" id="autoSuggestionsList">					 				</div></form><scripit>function lookup(inputString) {		if(inputString.length == 0) {			// Hide the suggestion box.			$('#suggestions').hide();		} else {			$.post("rpc.php", {queryString: ""+inputString+""}, function(data){				if(data.length >0) {					$('#suggestions').show();					$('#autoSuggestionsList').html(data);				}			});		}	} // lookup		function fill(thisValue) {		$('#inputString').val(thisValue);		setTimeout("$('#suggestions').hide();", 200);	}</script>
Nach dem Login kopieren

这是rpc.php的文件:
<?phprequire_once 'db_fns.php';header("Content-type: text/html; charset=gb2312");$db = db_connect();if(!$db) {	// Show error if we cannot connect.	echo 'ERROR: Could not connect to the database.';} else {	// Is there a posted query string?	if(isset($_POST['queryString'])) {		$queryString = $db->real_escape_string($_POST['queryString']);					// Is the string length greater than 0?					if(strlen($queryString) >0) {			// Run the query: We use LIKE '$queryString%'			// The percentage sign is a wild-card, in my example of countries it works like this...			// $queryString = 'Uni';			// Returned data = 'United States, United Kindom';			// YOU NEED TO ALTER THE QUERY TO MATCH YOUR DATABASE.			// eg: SELECT yourColumnName FROM yourTable WHERE yourColumnName LIKE '$queryString%' LIMIT 10			$query = $db->query("SELECT * FROM bbstopic WHERE title LIKE '%$queryString%' LIMIT 10");			if($query) {				// While there are results loop through them - fetching an Object (i like PHP5 btw!).				while ($result = $query ->fetch_object()) {					// Format the results, im using <li> for the list, you can change it.					// The onClick function fills the textbox with the result.					// YOU MUST CHANGE: $result->value to $result->your_colum					echo '<li onClick="fill(\''.$result->title.'\');">'.$result->title.'</li>';				}			} else {				echo 'ERROR: There was a problem with the query.';			}		} else {			// Dont do anything.		} // There is a queryString.	} else {		echo 'There should be no direct access to this script!';	}}?>
Nach dem Login kopieren


回复讨论(解决方案)

你可以使用jquery的一个控件:autocomplete 。
兼容性好,完全可以满足你的需求。

db_fns.php  在哪呢

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage