如何使用jquery获取Id名称并传递给php脚本?

时间:2010-03-02 20:17:56

标签: php jquery mysql

我一直试图用jquery获取一个按钮的id(在本例中是一个链接)并将id或类名发送到php脚本,这样我就可以在sql查询中输入该id或类名。我认为这是最简单的事情,但事实证明这是最困难的事情,因为似乎没什么用。

我在一个页面上有一个链接:

pagination.php:

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

然后另一个jquery脚本(单击按钮时):

jquery_pagination.php:

$("#pagination a#marketing").click(function () {


    Display_Load();

        var pageNum = $('#content').attr('data-page');

        $("#content").load("filter_marketing.php?page=" + pageNum, Hide_Load());

        });

最后,我想要“营销”ID的php页面:

filter_marketing.php:

<?php
include('config.php');
$per_page = 3;
if($_GET)
{
$page=$_GET['page'];
}
$start = ($page-1)*$per_page;
//$sql = "select * from explore order by id limit $start,$per_page";
$sql = "SELECT * FROM explore WHERE category='marketing' ORDER BY category LIMIT $start,$per_page";
$result = mysql_query($sql);
?>
<table width="800px">
<?php
while($row = mysql_fetch_array($result))
{
$msg_id=$row['id'];
$message=$row['site_description'];
$site_price=$row['site_price'];

?>
<tr>
<td><?php echo $msg_id; ?></td>
<td><?php echo $message; ?></td>
<td><?php echo $site_price; ?></td>
</tr>

<?php
}
?>
</table>

所以我想要的是自动将'marketing'的id放在sql查询中而不是硬编码,如下所示:

$sql = "SELECT * FROM explore WHERE category='marketing' ORDER BY category LIMIT $start,$per_page";

如果有人可以帮助解决这个问题,那就太棒了。

谢谢。

2 个答案:

答案 0 :(得分:0)

$("#pagination a#marketing").click(function () {

var $linkElement = $(this);
Display_Load();

    var pageNum = $('#content').attr('data-page');

    $("#content").load(
      "filter_marketing.php?page=" + pageNum + '&id='+$linkElement.attr('id'),
       Hide_Load());
    });

现在,id-parameter将提供被点击链接的ID。

答案 1 :(得分:0)

你应该更加具体而不仅仅是说“没有用”。 ajax呼叫是否有效?如果没有,它可能是一个文件路径。哎呀,我不妨问你是否正确包含了jquery。

无论如何,你的服务器端脚本远非防错,所以要小心。

如果你想要的只是将id发送给脚本,试试这个(假设你的ajax代码有效);

$("#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());
});

然后是您的服务器端脚本:

<?php
include('config.php');
$per_page = 3;

$page= ($_GET['page']!='') ? $_GET['page']: false;
$id= ($_GET['id']!='') ? $_GET['id']: false;

$start = ($page-1)*$per_page;


if($page && $id){
   $sql = "SELECT * FROM explore WHERE category='$id' ORDER BY category LIMIT $start,$per_page";
}
else
{
   die('Error: missing parameters. Id= '.$id.' and page= '.$page);
}


$result = mysql_query($sql);
?>
<table width="800px">
<?php
while($row = mysql_fetch_array($result))
{
$msg_id=$row['id'];
$message=$row['site_description'];
$site_price=$row['site_price'];

?>
<tr>
<td><?php echo $msg_id; ?></td>
<td><?php echo $message; ?></td>
<td><?php echo $site_price; ?></td>
</tr>

<?php
}
?>
</table>