【问题标题】:How to send link id's to a sql query using jQuery?如何使用 jQuery 将链接 ID 发送到 sql 查询?
【发布时间】:2010-07-27 18:45:40
【问题描述】:

我正在尝试将链接 ID 发送到 sql 查询以过滤数据。

当我点击如下链接时,我想将链接的 id 发送到 sql 查询,如下所示:

示例: 链接(点击):

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

<a href="#" class="category" id="automotive">Automotive</a>

(未点击):

<a href="#" class="category" id="sports">Sports</a>

sql 查询 - 我硬编码了 id,但我希望它在有人点击链接时自动执行此操作,在这种情况下是营销和汽车,我希望 id 使用 jquery 自动插入,但不知道如何正确执行它:

$query1 = "SELECT * FROM explore WHERE category IN ('marketing', 'automotive',) ORDER BY category LIMIT $start, $limit";

【问题讨论】:

    标签: php jquery mysql filter


    【解决方案1】:

    只需执行一个返回 false 的 jquery ajax 帖子,然后捕获结果。

    $('a').click(function(){
      $.post("querypage.php", { id: "$(this).attr('id')"},
         function(data){
           dosomethingwithdata(data);
      });
     //return false to insure the page doesn't refresh
     return false;
    });
    

    然后在您的 php 页面 (=querypage.php) 中执行:

    $query1 = "SELECT * FROM explore WHERE".$_POST["id"]."IN ('marketing', 'automotive',) ORDER BY category LIMIT $start, $limit";
    

    当然你现在必须执行查询并返回你想要的结果。

    希望对你有帮助,如果有什么问题可以评论我

    【讨论】:

    • 为什么"$(this).attr('id')" 用引号括起来?
    • 它为您提供 ID 的值。例如。
      $("this"").attr("id") -> 将返回'test'
    【解决方案2】:
    $('a').click(function(){
    var id = $(this).attr('id');
    //do something with id
    });
    

    我希望您不要依赖 javascript 来包含实际的 SQL 查询。执行此操作的更好方法是将 AJAX id 到某个位置,并在进行适当的清理后将 id 插入那里。见鬼,您可能只想将视图和 ajax 响应程序绑定在一起,以便在同一个固定的 id 列表上进行操作。如果您收到的内容不在预先批准的列表中(可能以某种方式用于生成 HTML 页面),请拒绝该查询。

    【讨论】:

    • 我不确定如何处理 id 以及如何将其放入 sql 查询中。
    • 我没有你的其余代码来做任何假设,但是你处理点击项目的列表(这作为一组复选框更有意义),你可以使用 attr方法来获取任何被点击的 id。
    猜你喜欢
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多