【问题标题】:How to get Id name with jquery and pass to php script?如何使用 jquery 获取 Id 名称并传递给 php 脚本?
【发布时间】:2010-03-02 20:17:56
【问题描述】:

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

我在一页上有一个链接:

分页.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>

所以我想要的只是在 sql 查询中自动放置“marketing”的 id,而不是像这里看到的那样硬编码:

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

如果有人能在这方面提供帮助,那就太棒了。

谢谢。

【问题讨论】:

    标签: php jquery mysql


    【解决方案1】:

    你真的应该比仅仅说“没有用”更具体。 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>
    

    【讨论】:

      【解决方案2】:
      $("#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 参数中提供。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-26
        相关资源
        最近更新 更多