我试图找出如何动态更新我的SQL查询。
在主页面上,我有一个分页脚本,用于计算将有多少页面:
<?php
function generate_pagination($sql) {
include_once('config.php');
$per_page = 3;
//Calculating no of pages
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$pages = ceil($count/$per_page);
//Pagination Numbers
for($i=1; $i<=$pages; $i++)
{
echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>';
}
}
?>
然后我在同一页面的正文中有这行代码填充页码:
<?php generate_pagination("SELECT * FROM explore WHERE category='marketing'"); ?>
因此,该行显示了仅为“营销”类别显示的必要数量的页码。
我遇到的问题是使用那一行代码。我想让类别变得动态,所以我不想将它硬编码为'marketing',而是希望jquery获取元素的id并将其放入。
该元素将是我在同一页面上的链接:
<a href="#" class="category" id="marketing">Marketing</a>
因此,当用户点击该链接时,我试图使用jquery将链接的ID放在查询的类别部分中。
我希望这是有道理的,如果有人能帮助我,那就太好了。
答案 0 :(得分:1)
首先,PHP方面:
<?php
function generate_pagination($sql) {
include_once('config.php');
$per_page = 3;
//Calculating no of pages
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$pages = ceil($count/$per_page);
//Pagination Numbers
for($i=1; $i<=$pages; $i++)
{
echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>';
}
}
?>
<?php generate_pagination("SELECT * FROM explore WHERE category='" . mysql_real_escape_string ( $_POST ['category'] ) . "'"); ?>
然后在你的jquery帖子中:
$("a.category").click(function() {
$.post("test.php", { category: $(this).attr("id") },
function(data){
//Load your results into the page
});
});
点击后,我们获取ID,将其作为帖子变量category
传递给服务器,然后在服务器上抓取,正确转义以确保安全,并使用该查询。以与现在相同的方式加载结果,该部分不会改变。