【发布时间】:2011-01-24 07:01:40
【问题描述】:
我仍在尝试更动态地更新我的 sql 查询,但发现这很困难,因为我对 PHP 和 jquery 都是新手。
我有一个主页 (pagination.php),如下所示:
<?php
function generate_pagination($sql) {
include_once('config.php');
$per_page = 3;
//Calculating no of pages
$result = mysql_query($sql);
$count = mysql_fetch_row($result);
$pages = ceil($count[0]/$per_page);
//Pagination Numbers
for($i=1; $i<=$pages; $i++)
{
echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>';
}
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery_pagination.js"></script>
<div id="loading" ></div>
<div id="content" data-page="1"></div>
<ul id="pagination">
<?php generate_pagination("SELECT COUNT(*) FROM explore WHERE category='marketing'"); ?>
<a href="#" class="category" id="marketing">Marketing</a>
<a href="#" class="category" id="automotive">Automotive</a>
<a href="#" class="category" id="sports">Sports</a>
如您所见,脚本的顶部正在计算分页的页数,然后根据该查询在数据库中的结果数显示数字:
<?php generate_pagination("SELECT COUNT(*) FROM explore WHERE category='marketing'");
如果我遇到困难,我想让上述查询的类别部分更加动态。因此,当用户单击三个链接中的任何一个时,我希望将单击的链接的 id 放置在使用 jquery 查询的类别部分中。
这是我的 jquery 代码:
$("#pagination a").click(function () {
Display_Load();
var this_id = $(this).attr('id');
var pageNum = $('#content').attr('data-page');
$("#content").load("filter_marketing.php?page=" + pageNum +'&id='+this_id, Hide_Load());
});
我希望这是有道理的,如果有人能在这方面帮助我,那就太好了。
【问题讨论】:
-
fyi,通过查看代码,您在调用 generate_pagination 后忘记关闭
- 。
-
真的是一团糟,不打算给你重写,而是像 $id = mysql_real_escape($_POST['id']); generate_pagination("SELECT COUNT(*) FROM explore WHERE category='$id'");可能会让你开始。 (您需要 mysql_real_escape 否则您将面临 SQL 注入的风险)