Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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
Javascript AJAX和PHP中具有相同名称的多个字段_Javascript_Php_Ajax - Fatal编程技术网

Javascript AJAX和PHP中具有相同名称的多个字段

Javascript AJAX和PHP中具有相同名称的多个字段,javascript,php,ajax,Javascript,Php,Ajax,各位 几天前我得到了一些很好的帮助,所以我希望有人能告诉我哪里出了问题。基本上,我要做的是当用户单击按钮时在后台更新MySQL数据库。表单是一系列记录,这些记录具有公共字段名(ID、DSA_编号、Manager_Review等)。现在,代码似乎甚至不会返回成功或失败消息 以下是主页上的脚本: <script> $(document).ready(function(){ $("#button").click(fu

各位

几天前我得到了一些很好的帮助,所以我希望有人能告诉我哪里出了问题。基本上,我要做的是当用户单击按钮时在后台更新MySQL数据库。表单是一系列记录,这些记录具有公共字段名(ID、DSA_编号、Manager_Review等)。现在,代码似乎甚至不会返回成功或失败消息

以下是主页上的脚本:

<script>
                $(document).ready(function(){

                    $("#button").click(function(){

                        var DDD_Number=$("#DDD_Number").val();
                        var Manager_Review=$("#Manager_Review").val();
                        var RID=$("#RID").val();
                        var Services=$("Services").val();
                        var Dues_List=$("Dues_List").val();
                        var ID=$("ID").val();
                        var myrid=$("myrid").val();
                        var Manager_Comments=$("Manager_Comments").val();
                        var President_Comments=$("President_Comments").val();
                        var dataTosend='?DDD_Number='+DDD_Number+'&Manager_Review='+Manager_Review+'&RID='+RID+'&Services='+Services+'&Dues_List='+Dues_List+'&Manager_Comments='+Manager_Comments+'&President_Comments='+President_Comments;
                        $.ajax({
                            type: "GET",
                            url:'baseupdater-test.php' + dataTosend,
                            data:dataTosend,
                            async: true,
                          success:function(data){
                                document.getElementById('stuffhere').innerHTML.text = "Success.";
                                document.getElementById('stuffhere').innerHTML.text = data;
                            },
                            error: function(data){
                               document.getElementById('stuffhere').innerHTML.text = "Failure.";
                           }
                        });
                    });
        </script>

$(文档).ready(函数(){
$(“#按钮”)。单击(函数(){
var DDD_Number=$(“#DDD_Number”).val();
var Manager_Review=$(“#Manager_Review”).val();
var RID=$(“#RID”).val();
var Services=$(“Services”).val();
var应付账款清单=$(“应付账款清单”).val();
var ID=$(“ID”).val();
var myrid=$(“myrid”).val();
var Manager_Comments=$(“Manager_Comments”).val();
var President_Comments=$(“President_Comments”).val();
var dataTosend=“?DDD_编号=”+DDD_编号+”&经理审查=“+Manager_审查+”&RID=“+RID+”&服务=“+Services+”&会费清单=“+Due_清单+”&经理评论=“+Manager_评论+”&总裁评论=”+总裁评论;
$.ajax({
键入:“获取”,
url:'baseupdater-test.php'+dataTosend,
数据:dataTosend,
async:true,
成功:功能(数据){
document.getElementById('stuffhere')。innerHTML.text=“成功。”;
document.getElementById('stuffhere').innerHTML.text=数据;
},
错误:函数(数据){
document.getElementById('stuffhere').innerHTML.text=“失败。”;
}
});
});
下面是在表上绘制行的代码:

<?php

/*  This code writes the rows in the table for baserecord.php */

$n = 0;
$o = $n + 1;

$firstday = date('m/1/Y');
if(isset($_GET['MR']))  // If $_GET['MR'] is set ...
{
    $MR = $_GET['MR'];  // Set the variables.
    $PR = $Pres_Rev;
}
else  // If not, select the maximum (latest) Manager Review Date.
{
    $getmr = "select max(STR_TO_DATE(Manager_Review_Date, '%m/%d/%Y')) as Manager_Review_Date, 
    President_Review_Date from clientdb.MRS2_test
    inner join clients_MRS
    on clientdb.clients_MRS.DDD_Case = clientdb.MRS2_test.DDD_Number
    where SCID = '$ID';";

    $rs2 = mysqli_query($con,$getmr);
    $rvd = mysqli_fetch_assoc($rs2);
    $MR = date('m/d/Y', strtotime($rvd['Manager_Review_Date']));
    echo "MR: $MR<br>";
    $PR = date('m/d/Y', strtotime($rvd['President_Review_Date']));
}


// The following query select the data for the row and orders it by the latest Manager Review Date. 

$cliselect    = "select distinct clientdb.Plans.Client_ID, clientdb.clients_MRS.DSA_Status, clientdb.clients_MRS.DSA_Status_Date, clientdb.clients_MRS.First_Name, clients_MRS.Last_Name, clientdb.clients_MRS.County, clientdb.Plans.DDD_Case, RID, Plans.Program, max(Plans.Plan) as MPlan, Tier, Plan_End_Date, clientdb.MRS2_test.RID, clientdb.MRS2_test.President_Comments, clientdb.MRS2_test.Manager_Comments, clientdb.MRS2_test.Services_Issues, clientdb.MRS2_test.Dues_List
     from clientdb.Plans 
     inner join clientdb.clients_MRS on clientdb.clients_MRS.DDD_Case = clientdb.Plans.DDD_Case 
     inner join clientdb.MRS2_test on clientdb.MRS2_test.DDD_Number = clientdb.Plans.DDD_Case 
     where SCID = '$ID' and (DSA_Status = 'Active' OR (DSA_Status <> 'Active' AND STR_TO_DATE(DSA_Status_Date, '%d/%m/%Y') > STR_TO_DATE($firstday, '%m/%d/%Y'))) AND (Manager_Review_Date = '$MR')
     group by clientdb.Plans.DDD_Case order by STR_TO_DATE(clientdb.MRS2_test.Manager_Review_Date, '%m/%d/%Y') DESC, clientdb.Plans.Last_Name;";

     //echo "cliselect $cliselect<br>";


    $cres         = mysqli_query($con, $cliselect);




while ($dddr = mysqli_fetch_assoc($cres)) {
    $DDD_Case              = $dddr['DDD_Case'];
    $First_Name            = $dddr['First_Name'];
    $Last_Name             = $dddr['Last_Name'];
    $County                = $dddr['County'];
    $Tier                  = $dddr['Tier'];
    if($ddr['Plan_End_Date'] <> '')
        {
            $Plan_End_Date         = $dddr['Plan_End_Date'];
        }        

    $Pres_Comments         = $dddr['President_Comments'];
    $Mgr_Comments          = $dddr['Manager_Comments'];
    $Dues                  = $dddr['Dues_List'];
    $Services              = $dddr['Services_Issues'];
    $RID = $dddr['RID'];


    $mxselect              = "select max(Plan) as MPlan from clientdb.Plans where clientdb.Plans.DDD_Case = '$DDD_Case';";
    $rens                  = mysqli_query($con, $mxselect);
    $rmm                   = mysqli_fetch_assoc($rens);
    $MPlan                 = $rmm['MPlan'];
    $endsel                = "select Plan_End_Date, Program from clientdb.Plans where clientdb.Plans.DDD_Case = $DDD_Case and clientdb.Plans.Plan = $MPlan;";
    $rsel                  = mysqli_query($con, $endsel);
    $end                   = mysqli_fetch_assoc($rsel);
    $Plan_End_Date         = $end['Plan_End_Date'];
    $Program               = $end['Program'];
//The purpose of ths quer s to get the RID for each row.

    $mrselect = "select * from MRS2_test where DDD_Number = '$DDD_Case' and Manager_Review_Date = '$MR'
                group by DDD_Number, RID
                order by RID DESC
                Limit 1 ;";



    $run = mysqli_query($con,$mrselect);

    $mrss = mysqli_fetch_assoc($run);




    $Manager_Review_Date   = $mrss['Manager_Review_Date'];
    $President_Review_Date = $mrss['President_Review_Date'];
    $myRID = $mrss['RID'][$n];



    echo "<tr><td>$o</td><td sorttable_customkey='$DDD_Case'><input class='ddd' type = 'text' value = '$DDD_Case' name = 'DDD_Number[]' size='6'></td><td sorttable_customkey='$Last_Name'>$First_Name $Last_Name</td><td>$County</td><td>$Program</td><td>$Tier</td><td sorttable_customkey='";
    ?>
<?php echo strtotime($Plan_End_Date);


echo "'>$Plan_End_Date</td><td><textarea class='expnd' name='Services[]'>$Services</textarea></td><td><input name='Dues_List[]'' type = 'text' value = '$Dues'></td><td><textarea class='expnd' name='Manager_Comments[]'>$Mgr_Comments</textarea></td><td><textarea class='expnd' name='President_Comments[]'>$Pres_Comments</textarea></td><td><input type='text' size='4' name = 'myrid[]' value='$RID' readonly></td><input type='hidden' name = 'manreview-orig' value='$Manager_Review_Date'></tr>";

    $n = $n++;
    $o++;
}
?>

您的代码

var data= [DDD_Number,Manager_Review,RID,Services,Dues_List,ID,myrid,Manager_Comments,President_Comments];
var datatosend = JSON.stringify(data);
$.ajax({
type: "GET",
url:'baseupdater-test.php',
data:dataTosend,
async: true,
success:function(data){
document.getElementById('stuffhere').innerHTML.text = "Success.";
document.getElementById('stuffhere').innerHTML.text = data;
 },
error: function(data){
document.getElementById('stuffhere').innerHTML.text = "Failure.";
 }
});

正如我所看到的,您试图发送数据两次,第一次是通过url,第二次是使用ajax
data
方法。请纠正我认为这样做是错误的,您应该只发送一次

此外,您必须将数据转换为json格式,以使ajax请求正常工作
现在发生的事情是,由于您的数据格式不正确,您的代码必须卡在ajax中的
数据上。您可以在控制台中看到它。ajax请求不会向您显示任何传递给另一方的值,这是成功失败未显示的主要原因。

查看las您已经编写的代码的t行
InnerHtml
将其更改为
InnerHtml
谢谢。我已经解决了这个问题。:)它仍然没有正确更新或显示消息,我不知道为什么,但至少已经修复。你能告诉我
stuffhere
在你的代码中的位置吗?我的意思是哪个元素有这个id。它是主文件中的最后一个标记。我没有共享它,因为文件很长。你试着调试这个问题了吗m?代码太多了……有没有办法不用json?数据不是json格式的。就像你说的,如果你想在后台通过ajax加载数据,你必须将数据转换成json格式。别担心,我也会指导你。好的。谢谢你能给我的任何帮助,Kunal。我很感激。:)毕竟你r variables放置此代码,并使用var
dataTosend
删除整行代码。谢谢,Kunal。我已相应地更改了代码,我会让您知道它是如何运行的。我感谢您的帮助。:)
var data= [DDD_Number,Manager_Review,RID,Services,Dues_List,ID,myrid,Manager_Comments,President_Comments];
var datatosend = JSON.stringify(data);
$.ajax({
type: "GET",
url:'baseupdater-test.php',
data:dataTosend,
async: true,
success:function(data){
document.getElementById('stuffhere').innerHTML.text = "Success.";
document.getElementById('stuffhere').innerHTML.text = data;
 },
error: function(data){
document.getElementById('stuffhere').innerHTML.text = "Failure.";
 }
});