在同一页面上从javascript变为PHP

时间:2017-03-31 14:42:58

标签: javascript php jquery html ajax

我是JS和PHP编程的新手。请帮我处理以下代码..

<?php

echo'
<button id="checkin" onclick="myFunction()">CheckIn</button>        
<script>
function myFunction() {
document.getElementById("checkin").disabled = true;
var CheckinoutStatus=true;
        $(function(){
        $.ajax({
              type: "POST",
              url: "functions.php",
              data: "&CheckinoutStatus="+CheckinoutStatus,
              success: function(data)
              {
                 alert("Checked In");
              }
            });
        });
   }
 </script>
 ';
 if(isset($_POST['CheckinoutStatus']))
 {

     $CheckinoutStatus=isset($_POST['CheckinoutStatus']);
     $update = $db->query("UPDATE Details SET     CheckinoutStatus='$CheckinoutStatus' where date='$date' ");

}
?>

单击checkin按钮应禁用该按钮,使用AJAX调用将CheckinoutStatus变量值true发送到数据库,然后在更新数据库后显示“Checked In”警报。

我在js中定义并将变量CheckinoutStatus设置为 true ,并且 使用AJAX,我试图在PHP中获取该值并在现有表中更新该数据。我无法将值从js传递给php。

2 个答案:

答案 0 :(得分:0)

除非您的表只有一条记录,否则您还需要传递某种密钥,以便更新正确的记录。点击下面的一行,我假设你的表格中有一个id为“key”的隐藏字段。

更改行:

data: "&CheckinoutStatus="+CheckinoutStatus,

要:

data: "&CheckinoutStatus=1&key="+$('#key').val(),

然后创建一个名为functions.php的PHP文件,它检查$ _GET ['CheckinoutStatus']的值,并使用类似于以下内容的where子句将其保存到表中:

UPDATE `mystatustable`
SET `checkinoutstatus` = $_GET['key']
WHERE `id` = $_GET['key'];

答案 1 :(得分:0)

更新: 当我通过链接传递值时,我实际上得到了它。

window.location.href =&#34; exp1.php?w1 =&#34; + CheckinoutStatus +&#34;&amp; w2 =&#34; + date;

但我无法通过使用相同的php文件来做到这一点..我必须创建一个新的php文件exp1.php以便它工作..