【问题标题】:How to update sql query dynamically - jquery如何动态更新sql查询 - jquery
【发布时间】:2010-03-05 00:41:24
【问题描述】:

我正在尝试弄清楚如何动态更新我的 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'"); ?>

因此,该行显示了仅用于“营销”类别的必要数量的页码。

我遇到的问题是那一行代码。我想让类别动态化,因此我希望 jquery 获取元素的 id 并将其放入,而不是将其硬编码为“营销”。

元素将是我在同一页面上的这个链接:

<a href="#" class="category" id="marketing">Marketing</a>

因此,当用户单击该链接时,我尝试使用 jquery 将链接的 ID 放在查询的类别部分中。

我希望这是有道理的,如果有人能在这方面帮助我,那就太好了。

【问题讨论】:

  • 这是在 AJAX 请求中,还是在正常的页面加载中?
  • 这是一个 Ajax 请求。
  • 你能发布你当前的 ajax 调用吗?这样更容易直接回答

标签: php jquery mysql


【解决方案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,将其作为 post 变量 category 传递给服务器,然后在服务器上抓取它,为安全起见正确转义,然后使用该查询。以与现在相同的方式加载结果,该部分不会改变。

【讨论】:

    猜你喜欢
    • 2011-01-24
    • 2014-10-20
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多