Php 如何使用2个按钮创建ajax查询?

Php 如何使用2个按钮创建ajax查询?,php,ajax,Php,Ajax,我有一个带有两个按钮的标准表单,当您单击任意一个按钮时,php if将使用if语句检测该按钮 <?php include('db_config.php'); if (isset($_POST['update'])) { $qty = $_POST['qty']; $id = $_POST['id']; $sql = "UPDATE orders SET qty=? WHERE id=?"; $stmt = $conn->prepare($sq

我有一个带有两个按钮的标准表单,当您单击任意一个按钮时,php if将使用if语句检测该按钮

<?php

include('db_config.php');

if (isset($_POST['update'])) {
    $qty = $_POST['qty'];
    $id  = $_POST['id'];


    $sql = "UPDATE orders SET qty=? WHERE id=?";
    $stmt = $conn->prepare($sql);
    $stmt->execute(array($qty,$id));

    header('Location: ../order.php');
}

if (isset($_POST['delete'])) {
    $id = $_POST['id'];

    $sql = "DELETE FROM orders WHERE id=?";
    $stmt = $conn->prepare($sql);
    $stmt->execute(array($id));
}

?>
谢谢

试试:

<button type="submit" id="updatebtn" name="action" value="update" class="btn btn-primary">Update</button>
<button type="submit" id="removebtn" name="action" value="remove" class="btn btn-primary">Remove</button>
如果使用jQuery Ajax,应该执行以下操作:

$("button[name=action]").click(function(){
    var data = {action: $(this).val()}; // and anything else you want to send
    $.ajax({
        url: "/url",
        type: "post",
        data: data,
        success: function(data){
            //
        }
    });
}); 
尝试:

如果使用jQuery Ajax,应该执行以下操作:

$("button[name=action]").click(function(){
    var data = {action: $(this).val()}; // and anything else you want to send
    $.ajax({
        url: "/url",
        type: "post",
        data: data,
        success: function(data){
            //
        }
    });
}); 

使用输入类型作为提交而不是按钮,这可能会在一定程度上帮助你

<input type="submit" id="updatebtn" name="action" value="update" class="btnbtn-primary">Update</input>
<input type="submit" id="removebtn" name="action" value="remove" class="btn btn-primary">Remove</input>
更新
去除

使用输入类型作为submit而不是按钮,这可能在一定程度上帮助您

<input type="submit" id="updatebtn" name="action" value="update" class="btnbtn-primary">Update</input>
<input type="submit" id="removebtn" name="action" value="remove" class="btn btn-primary">Remove</input>
更新
去除

我同意Mani的回答“使用输入而不是按钮”。 要创建ajax,请为表单创建一个ID或一些标识,以便能够标识表单

您的表格:

<div class="col-sm-4 col-md-4">
    <div class="content-boxes style-two top-column clearfix animated flipInY" style="opacity: 1;">
        <div class="content-boxes-text">
            <form action="php/edit.php" method="post" class="form-inline pull-right editremove-form" id="myFormID">    
                <h3>' . $row['itemName'] . '</h3>
                <h4>Total Price: $'.$row['price'].'</h4>    
                <img src="../wholesale/img/sourdough.jpg" class="img-reponsive">
                <p>Our best seller.  Full of flavour.</p>
                <div class="form-group">
                <label class="sr-only" for="exampleInputAmount">Qty</label>
                <div class="input-group">
                <input type="number" name="qty" class="form-control" class="qtyitem" value="' . $row['qty'] . '">
                </div>
                </div>
                <input type="hidden" class="itemid" name="id" value="'.$row['id'].'">
                <input type="submit" id="updatebtn" name="update" class="btn btn-primary" value="Update">
                <input type="submit" id="removebtn" name="delete" class="btn btn-primary" value="Remove">
            </form>
        </div>
        <!-- //.content-boxes-text -->
    </div>
    <!-- //.content-boxes -->
</div>
注意:确保包含jQuery


我希望这会有所帮助

我同意Mani的回答“使用输入而不是按钮”。 要创建ajax,请为表单创建一个ID或一些标识,以便能够标识表单

您的表格:

<div class="col-sm-4 col-md-4">
    <div class="content-boxes style-two top-column clearfix animated flipInY" style="opacity: 1;">
        <div class="content-boxes-text">
            <form action="php/edit.php" method="post" class="form-inline pull-right editremove-form" id="myFormID">    
                <h3>' . $row['itemName'] . '</h3>
                <h4>Total Price: $'.$row['price'].'</h4>    
                <img src="../wholesale/img/sourdough.jpg" class="img-reponsive">
                <p>Our best seller.  Full of flavour.</p>
                <div class="form-group">
                <label class="sr-only" for="exampleInputAmount">Qty</label>
                <div class="input-group">
                <input type="number" name="qty" class="form-control" class="qtyitem" value="' . $row['qty'] . '">
                </div>
                </div>
                <input type="hidden" class="itemid" name="id" value="'.$row['id'].'">
                <input type="submit" id="updatebtn" name="update" class="btn btn-primary" value="Update">
                <input type="submit" id="removebtn" name="delete" class="btn btn-primary" value="Remove">
            </form>
        </div>
        <!-- //.content-boxes-text -->
    </div>
    <!-- //.content-boxes -->
</div>
注意:确保包含jQuery


我希望它会有所帮助

好吧,但是我如何编写ajax脚本来正确发送这个呢?因为这是一个标准表单,并且按钮的工作方式类似于标准表单操作。
event.preventDefault()
要取消ajaxHey mate中的提交,我已更新以显示我的ajax,ajax似乎可以工作,但在按下delete(删除)按钮时不会删除该项目,因此我假设它没有拾取按钮?您可以删除
,并对每个按钮使用click事件。我的代码中的点击事件可以用于两个按钮,每个按钮都有不同的值和不同的行为。好吧,那么我如何编写ajax脚本来正确发送呢?因为这是一个标准表单,并且按钮的工作方式类似于标准表单操作。
event.preventDefault()
要取消ajaxHey mate中的提交,我已更新以显示我的ajax,ajax似乎可以工作,但在按下delete(删除)按钮时不会删除该项目,因此我假设它没有拾取按钮?您可以删除
,并对每个按钮使用click事件。我的代码中的点击事件可以用于两个按钮,每个按钮都有不同的值和不同的行为?您可以很容易地捕获JavaScript单击的按钮。您的AJAX代码在哪里?您可以很容易地捕获用JavaScript单击的按钮?其次,脚本不会删除或编辑我的项目。当我发出警报(数据)时;我得到了两个未定义的索引操作。首先,序列化的目的是什么?其次,脚本不会删除或编辑我的项目。当我发出警报(数据)时;我得到了两个未定义的索引操作。
$("#myFormID").submit(function(f){
    f.preventDefault(); // prevent page to load when submitting our form

    // post request
    $.post(
        'to_your_post_URL.php', 
        $(this).serialize(), // serialize form data
        function(){
            // do more after sending data
        }
    )
})