php搜索无刷新获取搜索结果

我想提交搜索查询表单并获取搜索结果,而无需在相同页面上重定向/重新加载/刷新而不使用。

我的内容是动态的,因此不能使用那些“在不刷新成功返回页面的情况下提交联系表单”的信息。

最佳答案

为了提交表单,从数据库中收集结果并将其呈现给用户,而无需刷新,重定向或重新加载页面,您需要:

  • 使用Ajax将表单中的数据发布到php文件中;
  • 后台的文件将查询数据库,并获取他接收到的数据的结果;
  • 使用查询结果,您需要将其注入(inject)页面中的html元素内,该元素可以将结果呈现给用户。
  • 最后,您需要设置一些控制内容,以使样式和文档工作流平稳运行。

话虽如此,这是一个有效的示例:

我们有一个表“persons”,其中的字段为“age”,字段为“name”,我们将搜索年龄为32岁的人员。接下来,我们将在带有粉红色背景的divtable中显示其姓名和年龄。和一个非常大的文字。

为了进行正确的测试,我们将使用灰色的页眉,正文和页脚!

index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html lang="pt" dir="ltr">

<head>

<title>Search And Show Without Refresh</title>

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<meta http-equiv="Content-Style-Type" content="text/css">

<!-- JQUERY FROM GOOGLE API -->

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<script type="text/javascript">

$(function() {

$("#lets_search").bind('submit',function() {

var value = $('#str').val();

$.post('db_query.php',{value:value}, function(data){

$("#search_results").html(data);

});

return false;

});

});

</script>

</head>

<body>

<div>

HEADER

</div>

<div>

<form id="lets_search" action="">

Search:<input type="text" name="str" id="str">

<input type="submit" value="send" name="send" id="send">

</form>

<div id="search_results"></div>

</div>

<div>

FOOTER

</div>

</body>

</html>

db_query.php

<?php

define("HOST", "localhost");

// Database user

define("DBUSER", "username");

// Database password

define("PASS", "password");

// Database name

define("DB", "database_name");

// Database Error - User Message

define("DB_MSG_ERROR", 'Could not connect!<br />Please contact the site\'s administrator.');

############## Make the mysql connection ###########

$conn = mysql_connect(HOST, DBUSER, PASS) or die(DB_MSG_ERROR);

$db = mysql_select_db(DB) or die(DB_MSG_ERROR);

$query = mysql_query("

SELECT *

FROM persons

WHERE age='".$_POST['value']."'

");

echo '<table>';

while ($data = mysql_fetch_array($query)) {

echo '

<tr>

<td>'.$data["name"].'</td>

<td>'.$data["age"].'</td>

</tr>';

}

echo '</table>';

?>

控制内容取决于您想要的内容,但是使用该代码,将这两个文件放在同一目录中,就可以了!

如有任何问题或更具解释性的代码,请让我们知道;)

以上是 php搜索无刷新获取搜索结果 的全部内容, 来源链接: www.h5w3.com/122417.html

回到顶部