2014-04-08 75 views
0

我將變量從我的表單發佈到另一個表單(搜索記錄表單),這會將所有變量發佈到當前表單並放置在INPUT字段或SELECT字段。類型I的INPUT的任何字段可以使用INPUTValue=""部分POST。現在SELECT我有一個小問題,我在代碼中預先填充任何小的單子都很好,當我運行的烙印記錄表格並交回貼變量我用下面從選項的動態列表中使用Selected =「Selected」

<label>Fuel</label> 
<select tabindex="1" id="propertyfueltype" name="propertyfueltype"> 
<option value=""></option> 
<option value="1" <?php echo ($searchfuel == '1' ? 'selected' : '')?>>Mains gas</option> 
<option value="2" <?php echo ($searchfuel == '2' ? 'selected' : '')?>>Wood or coal fire</option> 
<option value="3" <?php echo ($searchfuel == '3' ? 'selected' : '')?>>Oil</option> 
<option value="4" <?php echo ($searchfuel == '4' ? 'selected' : '')?>>Electric storage heaters</option> 
<option value="5" <?php echo ($searchfuel == '5' ? 'selected' : '')?>>LPG or bottled gas</option> 
<option value="6" <?php echo ($searchfuel == '6' ? 'selected' : '')?>>No central heating system</option> 
</select> 

這個代碼正如我所說的,這效果很好。我的問題是來自數據庫的SELECT中的大數據集,這是我目前所擁有的,這對於將數據導入SELECT是完美的,但是如何以類似於前面的代碼的方式向它發佈變量?

<label>Fuel Type</label> 
<?php $fueltype = db::getInstance()->query('SELECT * FROM lkup_fueltype'); 
if(!$fueltype->count()) { echo 'Problem'; } else { ?> 
<select tabindex="1" id="propertyfueltype" name="propertyfueltype"> 
<?php foreach ($fueltype->results() as $fueltype) { ?> 
<option value="<?php echo $fueltype->PropertyFuelType; ?>"><?php echo $fueltype->PropertyFuelType; ?></option> 
<?php } } ?> 
</select> 

回答

1

像這樣:

<option 
    value="<?php echo $fueltype->PropertyFuelType; ?>" 
    <?php echo $fueltype->PropertyFuelType == $searchfuel ? "selected" : ""; ?> 
><?php echo $fueltype->PropertyFuelType; ?></option> 

話雖如此,我會建議使用一個PHP模板系統;或者至少將這個邏輯轉換成一個函數。

+0

謝謝,你的意思是一個PHP模板系統,我不確定如何轉向功能,將谷歌。 – 539

+1

只需編寫一個通用函數來顯示選擇框,以便您可以在多個位置使用它。 –

+0

好吧,然後我需要改變的是SQL和變量? – 539

相關問題