如何将值发布到另一个页面并在不刷新的情况下获取数据?

时间:2011-05-08 15:11:20

标签: php ajax

我有很多标签。我想点击每个标签,然后将标签的值发布/获取到另一个页面。

在另一个页面中,收到值并进行mysql查询。然后将重新调整数据返回到第一页(不要制作iframe)。

我认为jquery post和load可能会这样做(但不知道如何组合两个functiton)。或许还有其他办法。感谢。

这是我的代码

products.php

<a href="data.php?get=hml03">model:hml03</a> 
<a href="data.php?get=hml04">model:hml04</a> 
<a href="data.php?get=hml05">model:hml05</a><!--post value from products.php--> 

data.php

<div id="data">
<?php
$result = mysql_query("SELECT id,name,details,add_date,model FROM ctw_products WHERE (MATCH (name,details,model) AGAINST ('+$_GET['get']' IN BOOLEAN MODE) Order By add_date DESC LIMIT 20 "); // get value with a mysql query 
while ($row = mysql_fetch_array($result))
{
echo '<div class="name">'.$row['name'].'</div>';
echo '<div class="model">'.$row['model'].'</div>'; 
echo '<div class="details">'.$row['details'].'</div>';// how to return this part of datas back to products.php 
}
?>
</div>
...<!--many other tags --> 
<div class="show_data"></div><!-- get the data back show in here without refresh the page.

1 个答案:

答案 0 :(得分:1)

首先,你需要AJAX才能做到这一点。实现此目的的最简单方法是使用类似jQuery

的库

您可以下载库并在本地包含它,也可以直接从jQuery站点链接到它。以下代码应该允许您从data.php获取数据而不进行页面刷新

<!--include the jQuery library -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.js"></script> 
<script type="text/javascript">
function get_data(get){
$.get('data.php?get='+get, function(data) {
     $('.show_data').html(data);
});
}
</script>

接下来,修改您的链接以调用get_data onclick,如下所示:

<a href="" onclick="get_data('hml03')">model:hml03</a>

请注意我们如何将产品的ID传递给get_data,您需要为每个链接执行此操作。

我建议你阅读Ajax和JQuery来真正理解。