onclick获取项目ID并将其发送到back.php

时间:2013-06-11 18:48:38

标签: php mysql ajax jquery

我正在尝试在数据库中显示项目的详细信息,并允许管理员删除它们。

这是我到目前为止所拥有的:

<?php
    include 'dbc.php';
    $query=mysql_query("select * from pro1");
    while($result=mysql_fetch_array($query)){
        echo '<span>'.$result['name'].'</span>'.'<a href="#" id='.$result['pro_id'].' onclick="delet(this.id);">delet</a>'.'<br/>';
    }
?>       
<html>
    <head>
    </head>
    <body>
        <span>test10</span><a href="#" id=10 onclick="delet(this.id);">delet</a>    

        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){
            function delete(proid){
                //alert(proid);
                $.post("back.php",{
                    proid:proid
                },function(data){
                    alert(data);
                });
        });//ready func end
        </script>
    </body>
</html>

我从db获取proid ...现在我需要用ajax发送id。 循环输出将是这样的:

<span>test10</span>
 <a href="#" id=10 onclick="delete(this.id);">delete</a>

3 个答案:

答案 0 :(得分:0)

delet函数移出document.ready包装器。它无法访问,因为它超出了范围:

            // no $(document).ready()
            function delet(proid){
                $.post("back.php",{
                    proid:proid
                },function(data){
                    alert(data);
                }); // <-- this was missing
            }

答案 1 :(得分:0)

说明

该功能有缺少一个结束括号

注意:不能将该函数包装为在加载时执行,否则不会可访问!


解决方案

(JSFiddle)

使用Javascript / jQuery的

    function delet(proid){
        //alert(proid);
        $.post("back.php",{
            proid:proid
        },function(data){
            alert(data);
        });
    } /*This one here */

答案 2 :(得分:0)

也许你想要这样

JQuery: -

 $(document).ready(function(){
    function delete(proid)
    {
       $.ajax({
           url: 'back.php',
           type: "get",
           data:'id='+ proid,
           success: function (response) {
              alert(data);
           }

        });      
    }
});

PHP: -

<?php
    include 'dbc.php';

    $id=$_GET['id'];
    $sql=mysql_query("DELETE FROM pro1 WHERE pro_id='$id'");

    if($sql)
       echo "Deleted Succesfully<br>";

    else
       echo "Problem to delete :(<br>";

    $query=mysql_query("select * from pro1");
    while($result=mysql_fetch_array($query)){
        echo '<span>'.$result['name'].'</span>'.'<a href="#" id='.$result['pro_id'].' onclick="delet(this.id);">delet</a>'.'<br/>';
    }
?>