您好,有人可以为此提出想法吗? 我希望数据在与其ID匹配时被选中,但是当我尝试这个时,一些数据将不会被选中仅仅显示我如何通过他们的ID选择它? 在这个数组中它起作用:
[0] => 1 [1] => 2 [2] => 3
在这个数组中,它将无法工作:
[0] => 20 [1] => 21 [2] => 22 [3] => 23 [4] => 24
$stat = $dbh->prepare("SELECT * FROM department");
$stat2 = $dbh->prepare("SELECT * FROM docprivacy WHERE doc_id = $id ORDER BY dep_id");
$stat2->execute();
$array = array();
while ($row3 = $stat2->fetch()) {
extract($row3);
array_push($array, $row3['dep_id'] ) ;
}
$stat->execute();
$i = 0 ;
while($row = $stat->fetch()){
extract($row);
while ( $i < count($array)) {
# code...
if ($row['d_id'] == $array[$i]){
echo "<option value = '{$d_id}' selected>".$row['department']."</option>";
}else{
echo "<option value = '{$d_id}'>".$row['department']."</option>";
}
$i++;
}
}
if (in_array($row['d_id'], $array ))
{
echo "<option value = '{$row['d_id']}' selected>".$row['department']."</option>";
}
else
{
echo "<option value = '{$row['d_id']}'>".$row['department']."</option>";
}
我认为这个错误与这一行有关
$i = 0 ;
在第一个循环之后,$ i已经超过了$ array计数。所以它不是执行。移动到。
while($row = $stat->fetch()){
extract($row);
$i = 0 ;