php - jquery ajax更新mysql表

标签 php jquery html mysql ajax

在我的程序中,有mysql表“company”。companyid和activation_code是该表中的一些列。i显示html表中的表值,其中包括comapproval.php页面。html表的每一行都有一个接受按钮当我点击该按钮时,公司表应该更新,并且该行从 html 表中删除。更新代码位于“approvecompany.php”页面中。我为此使用了 jquery ajax。当我点击接受按钮时,我只收到成功警报。但是我无法更新表。如果 html 表,即使成功,警报也只能获取第一行。我是 ajax 新手。请帮我解决这个问题。

comapproval.php

<table class="table table-striped table-bordered table-list">
                    <thead>

                    <tr>
                        <th>Action</th>
                        <th>ID</th>
                        <th>Registration number</th>
                        <th>Company Name</th>
                        <th>Email</th>
                    </tr>
                    </thead>
                    <tbody>

                    <?php
                    $conn = mysqli_connect("localhost", "root", "", "internship");
                    if (mysqli_connect_errno()) {
                        echo "Failed to connect to MySQL: " . mysqli_connect_error();
                    }
                    $sql = "";

                    $sql = "select * from company where activation_code=0";

                    $res = mysqli_query($conn, $sql);

                    while ($row = mysqli_fetch_assoc($res)):

                    ?>

                    <tr>
                        <td align="center"><input type="submit" class="btn btn-default" value="Accept" id="accept" name="accept"></input></td>
                        <td><?php echo $row['companyid']; ?></td>
                        <td><?php echo $row['government_reg_no']; ?></td>
                        <td><?php echo $row['company_name']; ?></td>
                        <td><?php echo $row['email']; ?></td>
                    </tr>

                    <?php
                        endwhile
                    ?>

                    </tbody>
                </table>
<script>
            $("#accept").click(function () {
                $.ajax({
                   type:"POST",
                   url:"approvecompany.php",
                    data:{comid:$('<?php $row['companyid']?>').val()},
                    success:function () {
                        alert('Successfully approved');
                        window.location.reload(true);
                    }

                });
            });

    </script>

approvecompany.php

<?php
$conn=mysqli_connect("localhost","root","","internship");

$comid=$_POST['comid'];

if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="update company set activation_code=1 where companyid=$comid";

if ($conn->query($sql) === TRUE) {

?>

<?php
}

else{
?><script>alert("Error...")</script><?php
}
?>

最佳答案

Try Rewriting comapproval.php as below:

<table class="table table-striped table-bordered table-list">
    <thead>
        <tr>
            <th>Action</th>
            <th>ID</th>
            <th>Registration number</th>
            <th>Company Name</th>
            <th>Email</th>
        </tr>
    </thead>
    <tbody>

    <?php
        $conn = mysqli_connect("localhost", "root", "", "internship");
        if (mysqli_connect_errno()) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        $sql = "";

        $sql = "select * from company where activation_code=0";

        $res = mysqli_query($conn, $sql);

        while ($row = mysqli_fetch_assoc($res)):

    ?>

        <tr>
            <td align="center">
                <button type="submit" class="btn btn-default myButton" value="<?php echo $row['companyid']; ?>" id="accept" name="accept">Accept</button>
            </td>
            <td><?php echo $row['companyid']; ?></td>
            <td><?php echo $row['government_reg_no']; ?></td>
            <td><?php echo $row['company_name']; ?></td>
            <td><?php echo $row['email']; ?></td>
        </tr>

    <?php
        endwhile
    ?>

    </tbody>
</table>
<script>
    $(".myButton").click(function () {
        var company_id = $(this).val();
        $.ajax({
            type:"POST",
            url:"approvecompany.php",
            data:{ comid: company_id },
            success:function () {
                window.location.reload(true);
            }

        });
    });
</script>

关于php - jquery ajax更新mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43400791/

相关文章:

javascript - 如何定位在其父元素中具有类的子元素?

javascript - 我正在尝试使用按钮随意移动 CSS 元素,我尝试使用 offset 并且 onlick 不起作用

php - 可以在 PHP 图像渲染脚本上执行 javascript 吗?

php - 将 id 存储到数据库表中并抛出名称

php - CakePHP 2 - 手动登录不添加到 session

javascript - 无法阻止被动事件监听器中的默认设置

Php 使用 unserialize() 和 serialize() 更改已保存文件中的值

javascript - 如何使用Jquery和Ajax将Json数据发送到数据库?

javascript - 将 id 添加到数据表行

javascript - 是否有可能有一个隐藏的Javascript文件