ID未提交查询

时间:2016-09-25 15:00:16

标签: javascript php jquery mysql

我提前感谢您的回复。

我有几页我正在处理的订单,但我确信修复一个会为我提供足够的知识来修复其他订单。在这种情况下,我会向您展示daytasks.php部分。基本上,我可以对第一行进行功能更改,但不能修改第二行,第三行等。使用功能按钮不会对这些行执行任何操作。 daytasks.php调用fetchdaytasks.php来获取基于日期的信息,该日期要求./functions/additions.js执行Javascript,Javascript调用函数相应的脚本来执行请求的操作。

e.g。我有两个订单,每个订单都在各自的<tr>中,我可以修改第一行,即带有任何功能的ID#28,但是第二行,ID#35我无法修改,它根本不会做任何改动。

daytasks.php

的部分
<div class="form-group">  
                <br />
                <center>
                     <div class="input-group"> 
                        <input type="date" id="search_text" name="search_text" />
                    </div>
                    <div id="result"></div>  
                </center>
</div>

fetchdaytasks.php

的部分
if(mysqli_num_rows($result) > 0)  
 {  
    while($row = mysqli_fetch_array($result))
     {
         $id=$row['id'];
         $orderdate=$row['date'];
         $order=$row['order'];
         $status=$row['status'];
 echo "
                <td><center>$id</center></td>
                <td><center>$orderdate</center></td>
                <td><center>$order</center></td>
                <td><center>$status</center></td>
                <form>
                <td><center><button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button> <button type='button' name='btn_unship' id='btn_unship' class='btn btn-xs btn-danger btn_delete'>UNSHIP</button> <button type='button' name='btn_bo' id='btn_bo' class='btn btn-xs btn-danger btn_delete'>BACKORDER</button> <button type='button' name='btn_fbo' id='btn_fbo' class='btn btn-xs btn-danger btn_delete'>FBO</button><br />
            <button type='button' name='btn_cancel' id='btn_cancel' class='btn btn-xs btn-danger btn_delete'>CANCEL</button> <button type='button' name='btn_return' id='btn_return' class='btn btn-xs btn-danger btn_delete'>RETURN</button> <button type='button' name='btn_dam' id='btn_dam' class='btn btn-xs btn-danger btn_delete'>DAMAGED</button> <button type='button' name='btn_lost' id='btn_lost' class='btn btn-xs btn-danger btn_delete'>LOST</button></td>
            </form>
            </tr>
            ";
     }
 }
 else
 {
     echo "No Orders For This Date";
 }

additions.js

的部分
    $("#btn_ship").click(function(){
var changeid = $( this ).data('id');    
 var myData={"changeid":changeid};
 $.ajax({
    url : "./functions/shiporder.php",
    type: "POST",
    data : myData,
    success: function(data,status,xhr)
     {
        $("#status_text").html(data);
        $('#changeid').val();
     }
}); 
});

$("#btn_fbo").click(function(){
 var changeid = $('#changeid').val();       
 var myData={"changeid":changeid};
 $.ajax({
    url : "./functions/fboorder.php",
    type: "POST",
    data : myData,
    success: function(data,status,xhr)
     {
        $("#status_text").html(data);
        $('#changeid').val();
     }
}); 
});

./functions/fboorder.php

<?php  
include_once('/home/brandina/public_html/eldis/config/config.php');
 $changeid = $_POST['changeid'];
 if(mysqli_query($connect, "UPDATE `orders` SET `status`='FBO' WHERE `id`='$changeid'"))
 ?>  

./functions/shiporder.php

<?php  
include_once('/home/brandina/public_html/eldis/config/config.php');
 $changeid = $_POST['changeid'];
 if(mysqli_query($connect, "UPDATE `orders` SET `status`='SHIP' WHERE `id`='$changeid'"))
 ?> 

1 个答案:

答案 0 :(得分:2)

因为你在fetchdaytasks中循环,所以这一行将重复: <input type='hidden' id='changeid' name='changeid' value='$id' />

这意味着您将拥有多个元素,其中“id”为“changeid”。在你的JS中你有var changeid = $('#changeid').val(); 这不知道你在说什么#changeid。

所以我会删除隐藏的输入并使用“data-XXX”并将其放在按钮或表单上。

所以<button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button><form data-id='$id'>

然后在JS中获取id: 如果你在按钮上执行此操作,请var changeid = $( this ).data( 'id );