我正在尝试创建一个管理系统,其中将显示帐户列表,并在名为“帐户状态”的列下,如果提取的帐户状态为非活动状态,我想放置一个显示“激活”的按钮(I已经使用布尔做了它,其中1是活动的,0是不活动的)。
但是,我无法使显示的按钮更新放置它的特定行,我尝试使用不起作用的更新查询。我的想法是可能的还是我必须使用输入文本字段来进行手动更新?希望你能帮助我,因为我是PHP的新手。
这是我的代码:
<?php
//FETCH DATA
$query=mysql_query("SELECT * FROM accounts");
while($fetch=mysql_fetch_array($query)){
$accountupdate = $fetch["accountid"];
echo" <tr>
<td><font face='verdana,arial' size=-1>".$fetch["accountid"]."</td>
<td><font face='verdana,arial' size=-1>".$fetch["username"]."</td>
<td><font face='verdana,arial' size=-5>".$fetch["password"]."</td>
<td><font face='verdana,arial' size=-1>".$fetch["firstname"]."</td>
<td><font face='verdana,arial' size=-1>".$fetch["lastname"]."</td>
<td><font face='verdana,arial' size=-1>".$fetch["email"]."</td>
<td><font face='verdana,arial' size=-5>".$fetch["salt"]."</td>";
if($fetch["account_status"] == 0){
echo "<form action='' method='post'>
<td><input type='submit' name='activate' value='Activate'></td>
</form>";
}
else{
echo "<td><font face='verdana,arial' size=-1>".$fetch["account_status"]."</td>";
}
}
if (isset($_POST['activate'])){
mysql_query("UPDATE accounts SET account_status=1 WHERE accountid='$accountupdate'") or die(mysql_error());
header("Location:admin_accounts.php");
}
?>
答案 0 :(得分:0)
添加一个隐藏字段,其中包含要更新到您表单的ID:
if($fetch["account_status"] == 0){
echo "<form action='' method='post'>
<td><input type='submit' name='activate' value='Activate'>
input type='hidden' name='upd_id' value='{$fetch['accountid']}'</td>
</form>";
}
然后在提交后,从隐藏字段中读取id:
if (isset($_POST['activate'])){
mysql_query("UPDATE accounts SET account_status=1 WHERE accountid='{$_POST['ups_id']}' LIMIT 1") or die(mysql_error());
header("Location:admin_accounts.php");
}
答案 1 :(得分:0)
您可以使用超链接而不是使用多个表单。它需要一点代码更改
<td><input type='submit' name='activate' value='Activate'></td>
TO
<td><a href='yourfilename.php?acctid='.$accountupdate >Activate</a></td>
if (isset($_POST['activate'])){
TO
if (isset($_GET['acctid'])){
$acctid = $_GET[acctid];
mysql_query("UPDATE accounts SET account_status=1 WHERE accountid='$acctid '") or
模具(mysql_error()); }
最后建议将代码更改为mysqli *: - )