我在<table>
中有这个特殊代码。 Select Option
仅显示第一行中显示的详细信息和其他选项,而不显示其他选项。
从图像中,保存在数据库中的数据仅显示在第1行Select Option
而不显示在另一行。
代码已经结束了:
<table class="table table-striped table-hover ">
<thead>
<tr>
<th>Staff Name</th>
<th>Current Role</th>
<th>Select Role</th>
</tr>
</thead>
<?php
while ($row = mysqli_fetch_assoc($successStaffQuery)) {
$staffId = $row['staff_id'];
$staffName = $row['staff_name'];
$staffRole = $row['role_type'];
?>
<tr>
<td><?php echo $staffName; ?></td>
<td><?php echo $staffRole; ?></td>
<td>
<div class="form-group">
<form action="doChangeRole.php" method="post" name="register">
<input type="hidden" name="getStaffId" value="<?php echo $staffId ?>" >
<div class="form-group">
<select class="form-control" onchange="this.form.submit()" id="select" name="roleChange">
<?php
while ($role = mysqli_fetch_array($successRoleQuery)) {
if ($row['role_id'] = $role['role_id']) {
?>
<option value="<?php echo $role['role_id']; echo 'selected'; ?>"><?php echo $role['role_type']; ?></option>
<?php
}
}
?>
</select>
</div>
<noscript><input type="submit" value="Submit"></noscript>
</form>
</div>
</td>
</tr>
<?php
}
?>
</table>
根据我的理解,数据应该显示,但在这种情况下,select option
刚刚在第一行成功显示选项后停止运行。有人可以帮忙吗?
答案 0 :(得分:0)
你的代码中有很多错误:
将您的选项代码更改为以下内容(删除错误的if标记
//loop your success query
while ($role = mysqli_fetch_array($successRoleQuery)) {
//output the options
//add selected tag only to one option
echo
'<option value="'.$role['role_id'].'"'.($role['role_id'] == $row['role_id'] ? ' selected': '').'>'
.$role['role_type']
.'</option>';
};
代码未经测试!