首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jquery更新sql查询

问如何使用jquery更新sql查询
EN

Stack Overflow用户
提问于 2010-03-06 04:46:04
回答 2查看 1.6K关注 0票数 4

我仍然在尝试更动态地更新我的sql查询,但我发现这很困难,因为我是PHP和jquery的新手。

我有一个主页(pagination.php),如下所示:

代码语言:javascript
复制
<?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>

正如您所看到的,脚本的顶部是计算分页的页数,然后根据此查询在数据库中的结果数显示页数:

代码语言:javascript
复制
<?php generate_pagination("SELECT COUNT(*) FROM explore WHERE category='marketing'");

这就是我遇到的困难,我想让上面查询的类别部分更具动态性。因此,当用户单击这三个链接中的任何一个时,我希望使用jquery将所单击的链接的id放在查询的类别部分。

下面是我的jquery代码:

代码语言:javascript
复制
$("#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());    
});

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

EN

回答 2

Stack Overflow用户

发布于 2010-03-06 05:41:18

我认为有两件事需要改变。首先,GET "id“变量需要在sql语句中,请参见以下内容:

代码语言:javascript
复制
<?php generate_pagination("SELECT COUNT(*) FROM explore WHERE category='".mysql_real_escape($_GET['id'])."'"); ?>

另一件事是,当您加载新内容时,还需要根据新内容信息更改分页。这将需要(1)另一个脚本(如pagination_links.php)或(2)调整您的分页脚本以仅返回generate_pagination函数的内容。

除了这两件事之外,它应该在概念上工作。Messy...but它应该可以工作。

票数 1
EN

Stack Overflow用户

发布于 2010-03-11 23:19:21

请记住,如果它是一个外部站点,则在执行此操作时需要小心。如果你正在用JS构建一个SQL查询,除非你在后端做一些检查,否则别人做SQL注入是非常容易的。我的建议是只传递某些参数,并使用PHP来构建查询本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2389822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档