Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL查询未与jQuery一起出现_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php MySQL查询未与jQuery一起出现

Php MySQL查询未与jQuery一起出现,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我感谢您提前回复 我有几页的订单,我正在处理,但我相信修复一个将提供足够的知识来修复其他。在本例中,我将向您展示daytasks.php部分。基本上,我可以对第一行进行功能更改,但第二行、第三行等不能修改。使用功能按钮对这些行没有任何作用daytasks.php调用fetchdaytasks.php获取基于日期的信息,调用/functions/additions.js执行Javascript,调用对应脚本的函数执行请求的操作 e、 g.我有两个订单,每个订单都有各自的,我可以用任何函数修改第一行

我感谢您提前回复

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

e、 g.我有两个订单,每个订单都有各自的
,我可以用任何函数修改第一行,即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>
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";
 }
<?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'"))
 ?>  
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();
     }
}); 
});
/functions/shiporder.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>
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";
 }
<?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'"))
 ?>  

看起来您是在打印带有循环按钮的订单行,但是按钮都具有相同的
id
,而HTML元素如果分配了一个,则必须在页面中具有:

发货

然后,通过jQuery附加一个点击处理程序,但您的目标是id
btn\u ship
,因此它只附加到该元素的第一个实例(第一行),因此它只适用于该元素:

$(“#btn_ship”)。单击(函数(){

我建议您在
fetchdaytasks.php
中的while循环中,通过向每个id追加
$id
使id唯一,而不是打印:

发货

打印:

发货

以及要在
additions.js
中的每个按钮上附加单击处理程序的按钮,因此:

$(“#btn_ship”)。单击(函数(){

做:


$('input[name=“btn_ship”]”)。单击(函数(e){

呃…不确定…你能说清楚一点吗。你的代码对SQL注入非常开放。使用参数化查询。@X.L.Ant此时我真的不关心SQL注入。此脚本仅由我自己内部使用。不需要服务器或数据库的安全性。我很快注意到的一件事是你的
while
loop不会打印开头的
,这可能会导致任何问题吗?@Fanis-在代码的上半部分,它会根据省略的一些if值打印
。很抱歉没有包含此内容。感谢提供此信息。我不确定在何处进行这些更改。我理解您对
btn_ship
仅附加到第一个实例,因为它没有唯一的ID,但如何在我的代码中复制此问题?我感谢您的时间!我在我的回答中添加了一些关于编辑内容的详细信息,希望这会有所帮助。我进行了建议的更改,现在它已破坏了脚本-它不再能够修改任何行的数据库。我所看到的没有错误消息。:(要确保您看到所有错误,请添加
error\u reporting(E\u all);
,如果您在本地运行,还可以添加
ini\u set('display\u errors',1)
位于所有脚本的顶部。如果您没有本地开发环境,而是直接在生产服务器上工作,请选择而不是
display_errors
来执行:
ini_set('log_errors',1);ini_set('error_log','/tmp/phperor.log'))
-然后看一下该文件包含的内容。很抱歉,从未回复。我没有看到此内容。它确实有效,并在未来的项目中帮助了我!谢谢!