尝试调用javascript函数时出错

时间:2016-01-17 16:37:04

标签: javascript php html database

我正在尝试将一个监听器添加到下面的代码中显示的“是”按钮。我希望此函数将此布尔值保存到我的数据库中的approval字段中,如:$ query_row ['批准'] == 1;并且在它上面显示一条消息。但是当执行代码时,点击“是按钮”后没有任何反应。 如果有错误,有人可以告诉我如何修复此代码吗? 提前谢谢!

这是我的代码:

<html >
<head>
<title></title>
</head>

<body>




<?php



if( !($database=mysql_connect("localhost","root",""))||!(mysql_select_db("st_login",$database))  )
   print("Could not connect");

$result = mysql_query("SELECT * FROM `login` WHERE `admin` = 0  AND  `approval`=0");
  // if($_POST['admin']==0) {//perjashton administratorin
    if(mysql_num_rows($result) == 0) {//esht aprovuar llogaria
      if(!($result=mysql_query($query,$database)))
{
    print("Could not execute query");
    die (mysql_error());//ose error
}
//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?
<button id="but">Yes</button><button>No</button><br />
<p id="demo"></p>';
?>
<script>
document.getElementById("but").addEventListener("click", MyFunction());

function MyFunction() {
  $query_row['approval']==1;
    document.getElementById("demo").innerHTML = "This account is approved";}

    </script>
<?php
}mysql_close($database);
?>



</body>
</html>

这是我的数据库approval field我试图更改的布尔值:Theb database

2 个答案:

答案 0 :(得分:0)

document...addEventListener("click", MyFunction());更改为document...addEventListener("click", MyFunction);,否则您的功能会立即执行,只会执行一次。

答案 1 :(得分:0)

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

首先,我会编辑你的主文件,因为它是一团糟(很遗憾地说,但不要担心,它与我一样):

<?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";
}

现在,创建一个名为ajax_file.php的php文件(在同一个文件夹中):

{{1}}

不要犹豫,问我这个细节是如何运作的。此外,这可能不正确,因为我不知道您正在做什么或想要对您提供的文件做什么。但是,如果你给我详细信息,我会编辑它以便它可以工作。