如何在HTML表中创建一个按钮,使PHP执行MySQL数据库查询,而不需要单独的js文件?
这就是我想要引入简单onclick事件来更改db中的值的地方如何在HTML表中创建一个按钮,使PHP执行MySQL数据库查询,而不需要单独的js文件?,php,mysql,Php,Mysql,这就是我想要引入简单onclick事件来更改db中的值的地方 echo "<h2>User Accounts</h2>"; echo "<div style='float: left; width: 40%'>"; $stmt = $dbh->prepare("SELECT username, statid, activated, level FROM accesslist ORD
echo "<h2>User Accounts</h2>";
echo "<div style='float: left; width: 40%'>";
$stmt = $dbh->prepare("SELECT username, statid, activated, level FROM accesslist ORDER BY level DESC");
$stmt->execute();
$results = $stmt->fetchAll();
echo "<table class=\"table_lines\" cellspacing=0 cellpadding=6 border=0 width=95%>";
echo "<thead>";
echo "<th>#</th>";
echo "<th>Username</th>";
echo "<th>Status</th>";
echo "<th>Remove Account</th>";
echo "</thead>";
echo "<tbody>";
if($result['activated'] = 1)
{
$activation = "Activated";
$count = 1;
foreach($results as $result)
{
echo "<tr>";
echo "<td>" . $count . "</td>";
echo "<td><a href='http://www.************.php?id=" . $result['statid'] . "'>" . $result['username'] . "</a></td>";
echo "<td align=\"center\">" . $activation . " <input type=\"submit\" class= \"button\" name= \"deactivate\" value=\"Deactivate\" /></td>";
echo "<td><input type=\"submit\" class= \"button\" name=\"deleteuser\" value=\"Remove Account\" /></td>";
echo "</tr>";
$count++;
}
}
else
{
$activation = "Not Activated";
$count = 1;
foreach($results as $result)
{
echo "<tr>";
echo "<td>" . $count . "</td>";
echo "<td><a href='http://www.**********.php?id=" . $result['statid'] . "'>" . $result['username'] . "</a></td>";
echo "<td align=\"center\">" . $activation . " <input type=\"submit\" class= \"button\" name= \"activate\" value=\"Activate\" /></td>";
echo "<td><input type=\"submit\" class= \"button\" name=\"deleteuser\" value=\"Remove Account\" /></td>";
echo "</tr>";
$count++;
}
}
echo "</tbody>";
echo "</table>";
echo "[END]";
$dbh = null;
}
我尝试过使用“formaction='http://********.php'method='post'”;
如果(设置($\u POST['activate']),但按钮在单击时似乎不起作用。可能是我做错了什么/
另外,我是初学者。我必须知道,在没有单独的js EventListener的情况下,php内部是否有更简单的onclick方法来影响db中的更改。您可以使用AJAX实现。很明显,我会给您一些代码,希望能对您有所帮助,这些代码对您有参考价值
<script type="text/javascript">
function activate(id) { // you can duplicate this function any way you like
$.ajax({
type: 'POST',
url: 'functions.php',
data: {
username: id,
type:'Active';
},
success: function (answer) {
$("#result").html(answer) // if you wanna get response from function.php
}
})
}
</script>
函数激活(id){//您可以按任何方式复制此函数
$.ajax({
键入:“POST”,
url:'functions.php',
数据:{
用户名:id,
类型:'主动';
},
成功:功能(答案){
$(“#result”).html(答案)//如果您想从function.php获得响应
}
})
}
在Function.php中
<?PHP
$username = $_POST['username ']; or you can get NAME
$Type = $_POST['type'];
if ($Type='Active') // you can duplicate any way you like
{
global $dbh;
$stmt = $dbh->prepare("UPDATE accesslist SET activated = 1 LIMIT 1");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();
}
?>
最后换一行
echo "<td><input type=\"submit\" class= \"button\" name=\"deleteuser\" value=\"Remove Account\" /></td>";
echo”“;
到
echo“删除帐户”;
你可以使用AJAX,我会给你一些代码,希望能对你有所帮助,这些代码对你有参考价值
<script type="text/javascript">
function activate(id) { // you can duplicate this function any way you like
$.ajax({
type: 'POST',
url: 'functions.php',
data: {
username: id,
type:'Active';
},
success: function (answer) {
$("#result").html(answer) // if you wanna get response from function.php
}
})
}
</script>
函数激活(id){//您可以按任何方式复制此函数
$.ajax({
键入:“POST”,
url:'functions.php',
数据:{
用户名:id,
类型:'主动';
},
成功:功能(答案){
$(“#result”).html(答案)//如果您想从function.php获得响应
}
})
}
在Function.php中
<?PHP
$username = $_POST['username ']; or you can get NAME
$Type = $_POST['type'];
if ($Type='Active') // you can duplicate any way you like
{
global $dbh;
$stmt = $dbh->prepare("UPDATE accesslist SET activated = 1 LIMIT 1");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();
}
?>
最后换一行
echo "<td><input type=\"submit\" class= \"button\" name=\"deleteuser\" value=\"Remove Account\" /></td>";
echo”“;
到
echo“删除帐户”;
将其作为ulr或表单提交,或者使用ajax如果您希望页面保持不变(我想是这样),您将需要一个ajax调用。(只是谷歌一下…)它是javascript,是的,但它不是一个单独的js文件。您需要一个专用的php脚本来接收此ajax调用并做出相应的反应(在db中进行更改)。不要忘记WHERE
语句的UPDATE
子句。。。我认为PDO的bindParam不能像你认为的那样工作。再次在php.net上查看它。将其作为ulr或表单提交,或者使用ajax如果您希望页面保持不变(我想是这样),您将需要一个ajax调用。(只是谷歌一下…)它是javascript,是的,但它不是一个单独的js文件。您需要一个专用的php脚本来接收此ajax调用并做出相应的反应(在db中进行更改)。不要忘记WHERE
语句的UPDATE
子句。。。我认为PDO的bindParam不能像你认为的那样工作。再次在php.net上查看它。