只有一个更新功能使用PHP

时间:2013-09-07 21:56:11

标签: php mysql

所以我希望有一个更新值的按钮,并将其更改为" HIGH"另一个更新相同的值并将其更改为" LOW"。这两个函数都可以单独工作,但是在同一个文件中只有输入首先工作的函数才有效。这听起来可能令人困惑。如果你看下面的代码,你会发现有两个输入。如果第二个输入调用on函数,它就可以工作。如果第二个输入函数调用它,则不会。

<?php

function off(){
    mysql_connect("localhost", "root", "");
    mysql_select_db("arduino");
    mysql_query("UPDATE `leds` SET `state` = 'LOW' WHERE `id` = 13");
}

function on(){
    mysql_connect("localhost", "root", "");
    mysql_select_db("arduino");
    mysql_query("UPDATE `leds` SET `state` = 'HIGH' WHERE `id` = 13");
}



?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet"   href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js">
</script>
    <title></title>
</head>
<body>
<input type = "button" value = "Turn On" onclick = "<?php on(); ?>">
<br />
    <br />
    <input type = "button" value = "Turn Off" onclick = "<?php off(); ?>">
</body>
</html>

我很困惑。任何人都知道发生了什么。如果我还不够清楚,请说出来,我很乐意提供更多细节。

2 个答案:

答案 0 :(得分:1)

这不适用于raina77ow和Pekka指出的原因。

但这可能会:

HTML(cliente侧):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet"   href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js">
</script>
    <title></title>
</head>
<body>
<script>
function set(bit_status){
    $.get('handle.php', {status: bit_status});
}
</script>
<input type = "button" value = "Turn On" onclick="set('HIGH')">
<br />
    <br />
    <input type = "button" value = "Turn Off" onclick="set('LOW'">
</body>
</html>

PHP(服务器端)handle.php文件:

function off(){
    mysql_connect("localhost", "root", "");
    mysql_select_db("arduino");
    mysql_query("UPDATE `leds` SET `state` = 'LOW' WHERE `id` = 13");
}

function on(){
    mysql_connect("localhost", "root", "");
    mysql_select_db("arduino");
    mysql_query("UPDATE `leds` SET `state` = 'HIGH' WHERE `id` = 13");
}

$status = $_GET['status'];
if($status == 'HIGH') on();
else off();

答案 1 :(得分:0)

您的输入标记都不在表单内,也不会关闭。我不确定这是不是问题,但它无济于事。