prepare("-6ren">
gpt4 book ai didi

php - 如何在 HTML 表中创建一个按钮,使 PHP 执行 MySQL 数据库查询而不需要单独的 js 文件?

转载 作者:行者123 更新时间:2023-11-30 22:18:41 25 4
gpt4 key购买 nike

这是我想引入简单的 onclick 事件来更改数据库中的值的地方。

    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;

}

现在是这样的:

this is how it looks right now

我还有3个函数

function activateUser($username)
{
global $dbh;

$stmt = $dbh->prepare("UPDATE accesslist SET activated = 1 LIMIT 1");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();
}

function deactivateUser($username)
{
global $dbh;

$stmt = $dbh->prepare("UPDATE accesslist SET activated = 0 LIMIT 1");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();
}
function deleteUser($username)
{
global $dbh;

$stmt = $dbh->prepare("DELETE FROM accesslist WHERE username = $username LIMIT 1");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();
}

我试过使用“form action='http://************.php' method='post'”;和 if(isset($_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>

在函数.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 "<td><button type=\"button\" class= \"button\" name=\"deleteuser\" OnClick=\"activate('.$result['username'].');\" />Remove Account</button></td>";

关于php - 如何在 HTML 表中创建一个按钮,使 PHP 执行 MySQL 数据库查询而不需要单独的 js 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com