我在php中创建了一个简单的页面,它从数据库中获取数据并显示在网页上。
的index.php
<?php
include_once 'dbop.php';
$objUser = new Users();
$users = $objUser->get_users();
?>
<!DOCTYPE html>
<html lang="en">
.
.
<form action="index.php" method="POST">
<select name="role" id="role">
<option value="Admin"><?php echo 'Admin' ?></option>
<option value="SysAdmin"><?php echo 'SysAdmin' ?></option>
<option value="User"><?php echo 'User' ?></option>
</select>
<table>
<thead>
<tr>
<th>Name</th>
<th>Role</th>
</tr>
</thead>
<tbody>
<?php
for($i = 0; $i < sizeof($users); $i++) {
?>
<tr>
<td><?php echo ($users[$i]["name"]); ?></td>
<td><?php echo ($users[$i]["role"]); ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</form>
.
.
</html>
dbop.php
<?php
.
.
public function get_users() {
$sql = "select name, role from users";
$data = $this->dbObj->ExecuteQuery($sql);
$data_all = array();
if ($data != null && mysqli_num_rows($data) > 0) {
while($fetch_data = mysqli_fetch_assoc($data)) {
$arr = array();
$arr["name] = $fetch_data['name'];
$arr["role"] = $fetch_data['role'];
$data_all[] = $arr;
}
}
return $data_all;
}
?>
我想根据所选角色(下拉列表)显示数据库中的用户名和角色。 例如,如果从下拉列表中选择了管理员值,则只需要在网页上显示管理员记录。
答案 0 :(得分:0)
您可以使用不同的方法,这是一种简化的方法:
<?php
include_once 'dbop.php';
$selected ="";
if ($_SERVER['REQUEST_METHOD'] === "POST") {
if ( !isset( $_POST['Filter'] ) ) {
$selected = $_POST['role'];
}}
$objUser = new Users();
$users = $objUser->get_users();
?>
<!DOCTYPE html>
<html lang="en">
.
.
<form action="#" method="POST">
<select name="role" id="role">
<option value="Admin"><?php echo 'Admin' ?></option>
<option value="SysAdmin"><?php echo 'SysAdmin' ?></option>
<option value="User"><?php echo 'User' ?></option>
</select>
<input type="submit" name="submit" value="Filter" >
</form>
<table>
<thead>
<tr>
<th>Name</th>
<th>Role</th>
</tr>
</thead>
<tbody>
<?php
for($i = 0; $i < sizeof($users); $i++) {
if ($selected !=""){
if (($users[$i]["role"])== $selected) {
?>
<tr>
<td><?php echo ($users[$i]["name"]); ?></td>
<td><?php echo ($users[$i]["role"]); ?></td>
</tr>
<?php } } }?>
</tbody>
</table>
.
.
</html>
希望这有帮助。