好吧,所以我在一个数据库中有两个不同的表,我试图使用while语句从一个表中回显一个名称,然后为每个名称回显一个选择器..
例如,如果表中只有一个名称,那么只有一个选择器,如果有两个名称则为Else但是选项选择值应该设置为它在DB中所说的...现在一切都正确地回响,但所有选择的选项都不是唯一的,它们保持与之前的相同。因此,如果我将其中一个设置为禁用,则选择器将它们全部显示为已禁用..这是代码
<?php
$userID = $_GET['uid']; // from the query string in the link
$_SESSION['userid'] = $userID;
$query = $con->prepare("SELECT * FROM users WHERE ID = '". $userID ."'") or die(mysqli_error());
$query->execute();
$user=$query->fetch(PDO::FETCH_ASSOC);
// echo out user details:
echo '<b>' . 'User Info:' . " " . '</b>';
echo '<br>';
echo $user['last']. "," . " " .$user['first'];
echo '<br>';
echo 'Business Unit';
echo '<br>';
echo $user['busunit'];
echo '<br>';
echo 'Location';
echo '<br>';
echo $user['location'];
echo '<br>';
echo 'Position';
echo '<br>';
echo $user['position'];
echo '<br>';
echo '<br>';
echo '<b>Access Info</b>';
echo '<br>';
$number = '1';
$number++;
$new = 'op' . $number;
$stmt = $con->prepare("SELECT * FROM access");
$stmt->execute();
$userIDi = $user['ident'];
$q = $con->prepare("SELECT * FROM priv WHERE ident = :ID ");
$q->bindparam(":ID", $userIDi);
$q->execute();
$priv=$q->fetch(PDO::FETCH_ASSOC);
$val1 = 'Yes';
$val2 = 'No';
echo '<form method="post">';
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
echo $row['name'];
echo ' ';
echo '
<select id='.$new.'>
<option value="Yes"';
if($priv[$new]==$val1){echo 'selected="selected"';} echo '>Enabled </option>';
echo '<option value="No"';
if($priv[$new]==$val2){echo 'selected="selected"'; } echo '>Disabled </option>';
echo '</select>';
echo '<br>';
}
echo '<br>';
echo '<input type="submit" name="submit"/>';
echo '</form>';
更新了此代码, 仍然无法让它发挥作用。
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
echo $row['name'];
echo ' ';
echo '
<select id='.$new.'>';
while($priv=$q->fetch(PDO::FETCH_ASSOC)){
echo '<option value="Yes"'; if($priv[$new]==$val1){echo 'selected="selected"' . '>Enabled </option>';}
echo '<option value="No"'; if($priv[$new]==$val2){echo 'selected="selected"' . '>Disabled </option>'; }
}
echo '</select>';
echo '<br>';
}
这是第三次更新..
现在第一个选择器正在动态运行,它将更改为启用或禁用,但其他选择器保持静态。
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
echo $row['name'];
echo ' ';
echo '
<select id='.$new.'>
<option value="Yes"';
while($priv=$q->fetch(PDO::FETCH_ASSOC)){
if($priv[$new]==$val1){echo 'selected="selected"';} echo '>Enabled </option>';
echo '<option value="No"';
if($priv[$new]==$val2){echo 'selected="selected"'; }} echo '>Disabled </option>';
echo '</select>';
echo '<br>';
}
echo '<br>';
echo '<input type="submit" name="submit"/>';
echo '</form>';