-1

我有此代码用于使用数据库中的条目填充下拉列表。它工作正常,但我想做的是,如果我从另一个页面向它发送一个值,它会自动选择该值。这是工作代码:

{ $box1 = array();
$result1 = "SELECT FullName FROM UserInformation ORDER BY FullName ASC";
$rs1=odbc_exec($conn,$result1);
while($row = odbc_fetch_array($rs1)) { $box1[] = $row; }}
$FullName = '<select name="FullName" onchange="autoSubmit(); refresh()">';
$FullName .= '<option>---< Select Engineer >---</option>';
if (!empty($box1)) {
foreach ($box1 as $k => $v) {
$FullName .= '<option value="'.$v['FullName'].'">'.$v['FullName'].'</option>';}}
$FullName .= '</select>';
echo $FullName;

使用静态下拉列表执行此操作的方法是:

<select name="Active">
<option value="Yes" <?php if($Active == 'Yes') {echo 'selected=""';} ?>>Yes</option>
<option value="No" <?php if($Active == 'No') {echo 'selected=""';} ?>>No</option>
</select>

我补充说:

$test = 'James Whitley';

并尝试更换:

$FullName .= '<option value="'.$v['FullName'].'">'.$v['FullName'].'</option>';}}

和:

$FullName .= '<option value="'.$v['FullName'].'"' if('.$v['FullName'].' = $test){echo 'selected="selected"';} '>'.$v['FullName'].'</option>';}}

我认为这会起作用,但我得到一个(语法错误,意外的 T_IF)错误。任何帮助将不胜感激,谢谢。

4

2 回答 2

0

这里应该是什么样子,不要在if-statement中使用连接:

$FullName .= '<option value="' . $v['FullName'] . '"' . ($v['FullName'] == $test? ' selected="selected' : '') . '>' . $v['FullName'] . '</option>';
于 2013-08-03T20:35:46.843 回答
0

试试这个:

$FullName .= '<option value="'.$v['FullName'].'"'.
 (!strcmp($v['FullName'],$test)?' selected':'').'>'.$v['FullName'].'</option>';

如果您正在从结果集或键控数组中选择不同的选项,您可能会有这样的事情:

  echo "<select name=\"users\">\n";
  foreach ($usernames as $fullname)
  {
    $seltxt=(!strcmp($fullname,$test)?' selected':'');
    echo "<option value=\"${fullname}\"${seltxt}>${fullname}</option>\n";
  }
  echo "</select>\n";
于 2013-08-03T20:43:42.380 回答