【发布时间】:2016-11-11 06:55:38
【问题描述】:
用户注册到站点。管理员将登录并查看用户列表。
我正在尝试为管理员提供一个选项来选择复选框并通过下拉提交更改用户的状态。当我尝试下面的代码时,我可以选择 "Y/N/A" ,点击 submit 按钮后显示消息 "Added Successfully" ,但它不更新值 在数据库中。
表名:tbl_users,列:userStatus [enum],值:Y、N、A
表格
<form method="post" action="ajax1.php">
<select name="userStatus">
<option value="N">N</option>
<option value="Y">Y</option>
<option value="A">A</option>
</select>
<button type="submit" name="submit" >Submit</button>
</form>
ajax1.php
if(isset($_POST["submit"]))
{
$userStatus=$_POST["userStatus"];
$conn = new Database();
$stmt = $conn->dbConnection()->prepare("INSERT INTO tbl_users (userStatus) VALUES ('$userStatus')");
echo " Added Successfully ";
}
显示用户复选框、ID、姓名、电子邮件的代码:
$stmt = $user_home->runQuery("SELECT * FROM tbl_users");
$stmt->execute(array(":uid" => $_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$stmt->execute();
$status = array('Y'=>'Verified','N'=>'Not verified' , 'A'=>'Approved');
echo "<table>";
echo "<tr>
<td></td>
<td>id</td>
<td>name</td>
<td>email</td>
</tr>";
while($data = $stmt->fetch())
{
echo "<tr>
<td> <input type='checkbox' > </td>
<td>" . $data['userID'] . "</td>
<td>" . $data['name'] . "</td>
<td>" . $data['email'] . "</td>
</tr>";
}
echo "</table>";
我在发布问题之前进行了很多研究和尝试,在某些链接中我看到我们需要使用 Javascript,但在其他一些链接中,他们提到我们只能使用 php 来实现。 我对编码很陌生,请帮助我
编辑
按照以下回答后,我将代码更新为$stmt = $conn->dbConnection()->prepare('UPDATE tbl_users SET userStatus = ? WHERE userID = ?');
【问题讨论】:
-
你在做什么,你试图在用户表中插入状态。
-
@HappyCoding 是的,我正在尝试更新
status... 之前只有status值......我需要根据选定的值更改那些values.. ... -
请检查 MySQL UPDATE。
-
这是解决问题的一种方式。请制作一个调用 ajax 请求的 java 脚本函数来更新相同的内容,并且您应该传递所需的变量来查询相同的内容。然后,您应该在下拉 on-change 事件上调用该函数。这样你就可以实现了。
-
@HappyCoding 我试过这样:
$stmt = $conn->dbConnection()->prepare('UPDATE tbl_users SET userStatus = ? WHERE userID = ?');但仍然没有运气.....
标签: javascript php forms pdo