如何使用jquery获取Id名并传递给php脚本?
问题描述:
我一直在试图获得一个按钮(在这种情况下,一个链接)与jQuery的id,并发送id或类名称到一个php脚本,所以我可以在sql查询中输入该id或类名称。我认为这将是最容易做的事情,但事实证明这是最困难的事情,因为没有任何工作似乎有效。如何使用jquery获取Id名并传递给php脚本?
我有一个页面上的链接:
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());
});
最后,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>
所以,我要的是自动将“营销”的id在sql查询而不是硬编码,如在这里看到的:
$sql = "SELECT * FROM explore WHERE category='marketing' ORDER BY category LIMIT $start,$per_page";
如果任何人都可以帮助,这将是惊人的。
谢谢。
答
你应该更具体,而不仅仅是说“没有什么作用”。 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>
答
$("#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将在id参数中提供。
谢谢,成功了!我非常感谢帮助。 – SOFuser 2010-03-02 20:38:10