我一直试图用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";
如果有人可以帮助解决这个问题,那就太棒了。
谢谢。
答案 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>