Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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函数时出错_Javascript_Php_Html_Database - Fatal编程技术网

尝试调用javascript函数时出错

尝试调用javascript函数时出错,javascript,php,html,database,Javascript,Php,Html,Database,我正在尝试将侦听器添加到下面代码中显示的“是”按钮中。我希望此函数将此布尔值保存到数据库中的approval字段中,如:$query\u row['approval']==1;但在执行代码时,单击“是”按钮后什么也不会发生。 有人能告诉我如何修复这个代码,如果它有一个错误吗? 提前谢谢 这是我的代码: document.getElementById(“but”).addEventListener(“单击”,MyFunction()); 函数MyFunction(){ $query_row['

我正在尝试将侦听器添加到下面代码中显示的“是”按钮中。我希望此函数将此布尔值保存到数据库中的
approval
字段中,如:$query\u row['approval']==1;但在执行代码时,单击“是”按钮后什么也不会发生。 有人能告诉我如何修复这个代码,如果它有一个错误吗? 提前谢谢

这是我的代码:


document.getElementById(“but”).addEventListener(“单击”,MyFunction());
函数MyFunction(){
$query_row['approval']==1;
document.getElementById(“demo”).innerHTML=“此帐户已批准”;}

更改
文档…添加EventListener(“单击”,MyFunction())
文档…添加了EventListener(“单击”,MyFunction)否则,您的函数将立即执行且仅执行一次。

您不能仅通过更改输出数组的值来修改数据库中的值。您必须创建一个新的php文件并异步调用它。阅读有关更新数据库中的值以及异步调用文件的更多信息

首先,我会编辑你的主文件,因为它很乱(很抱歉这么说,但别担心,我也一样):


函数MyFunction(id){
var-xhttp;
if(window.XMLHttpRequest){
xhttp=newXMLHttpRequest();
}否则{
//IE6、IE5的代码
xhttp=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
如果(xhttp.responseText.indexOf(“更新正常”)!=-1)
document.getElementById(id).nextSibling.innerHTML=“此帐户已批准”;
}
否则{
document.getElementById(id).nextSibling.innerHTML=“批准此帐户时出错”;
}
}
open(“GET”,“ajax_file.php?id=“+id,true”);
xhttp.send();
}

仍然是相同的输出。什么也没有发生。是的,如果您希望数据库中的值更新,那么仅当
$query\u row['approval']==1时,这种情况就不会发生
MyFunction
中。实际上,您应该从脚本中删除它,因为它会导致javascript中出现错误。您必须显式地将此信息发送到服务器,最好使用@Luka编写的ajax请求。请详细说明您希望在该文件中执行的操作。
<html>
<head>
<title></title>
<script>
function MyFunction(id) {
  var xhttp;
  if (window.XMLHttpRequest) {
      xhttp = new XMLHttpRequest();
      } else {
      // code for IE6, IE5
      xhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      if(xhttp.responseText.indexOf("UPDATE WENT OK")!=-1)
        document.getElementById(id).nextSibling.innerHTML = "This account is approved";
      }
      else {
        document.getElementById(id).nextSibling.innerHTML = "An error occured while approving this account";
      }
    }
  xhttp.open("GET", "ajax_file.php?id="+id, true);
  xhttp.send();
}

</script>
</head>
<body>

<?php

if(!($database = mysql_connect("localhost","root","")) || !(mysql_select_db("st_login",$database)))
   print("Could not connect");
else {
  $result = mysql_query($database,"SELECT * FROM `login` WHERE `admin` = 0  AND `approval`=0");
  if(!$result){
    print("Could not execute query");
    die (mysql_error());//ose error
  }
  else{
    if(mysql_num_rows($result) == 0) {//esht aprovuar llogaria
      //nese  esht aprovuar logini i st.
      echo "You are approved";
   }
    else {               //approval=0
      echo"YOU HAVE NEW REQUESTS WAITING FOR APPROVAL IN YOUR WEBSITE!!!<br/>";
      while($query_row=mysql_fetch_assoc($result)){
        $firstname=$query_row['firstname'];
        $lastname=$query_row['lastname'];
        $username=$query_row['username'];
        $password=$query_row['password'];
        $email=$query_row['email'];
        $cv=$query_row['cv'];
        echo $firstname.'   '.$lastname.'  has this cv:'.$cv.'<br /> Do you want to approve his account?';
        ?><div class="container"><button id="<?php echo $query_row['id'];?>" onclick="MyFunction(this.id)">Yes</button><button>No</button><br />
        <p class="demo"></p></div><?php
      }
    }
  }
}
mysql_close($database);
?>
</body>
</html>
<?php

if(!($database = mysql_connect("localhost","root","")) || !(mysql_select_db("st_login",$database)))
   die("Could not connect");
else {
$id = intval($_GET['id']);
$result = mysql_query($database,"UPDATE table `login` SET approval = 1 WHERE `id` = '".$id."'");
if(!$result){
  print("Could not execute query");
  die (mysql_error());//ose error
}
else{
  echo "UPDATE WENT OK";
}