2010-03-02 101 views
0

我一直在试图获得一个按钮(在这种情况下,一个链接)与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"; 

如果任何人都可以帮助,这将是惊人的。

谢谢。

回答

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> 
+0

谢谢,成功了!我非常感谢帮助。 – SOFuser 2010-03-02 20:38:10

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将在id参数中提供。

相关问题