2013-08-03 112 views
-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)錯誤。任何幫助將不勝感激,謝謝。

回答

0

試試這個結果集或鍵控陣列,你可以有這樣的事情:

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"; 
0

這應該是什麼樣子,不使用級聯if語句:從

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

如果你正在做一個選擇,選擇可變:

$FullName .= '<option value="' . $v['FullName'] . '"' . ($v['FullName'] == $test? ' selected="selected' : '') . '>' . $v['FullName'] . '</option>'; 
相關問題