2014-07-21 54 views
-4

呼應這是我的PHP代碼:如果裏面PHP

echo "<td><select name='Sucursal' > 
<option value=''>Seleccione sucursal</option> 
<option value='L1'>L1</option> 
<option value='L5'>L5</option> 
<option value='L6'>L6</option> 
<option value='PN'>PN</option> 
<option value='MA'>MA</option> 
</select></td>"; 

我「呼應」一個選擇PHP內,但我希望把這個代碼的每個選項裏面的值:

<option value="Male" <?php if($Gender == "Male") echo "selected"; ?>>Male</option> 

我的問題是我不知道如何把它放在echo中,如果有人可以幫助我,我將不勝感激。

+7

然後,不要輸出爲單個單片字符串。分別輸出每個'

回答

0

Ternary operator是你在找什麼。

echo " 
<td> 
<select name='Sucursal' > 
    <option value=''>Seleccione sucursal</option> 
    <option ".($Sucursal == 'L1' ? 'selected' : '')." value='L1'>L1</option> 
    <option ".($Sucursal == 'L5' ? 'selected' : '')." value='L5'>L5</option> 
    <option ".($Sucursal == 'L6' ? 'selected' : '')." value='L6'>L6</option> 
    <option ".($Sucursal == 'PN' ? 'selected' : '')." value='PN'>PN</option> 
    <option ".($Sucursal == 'MA' ? 'selected' : '')." value='MA'>MA</option> 
</select> 
</td>"; 
+0

謝謝,這就是我一直在尋找的東西。 – heynow

4

這是一個更清潔的方法。構建您的選項數組,循環遍歷它們以輸出HTML,同時使用ternary operator輸出選定的屬性。

<?php 

// Setup the key/value pair using an array 
$opts = array(
    'L1' => 'L1', 
    'L2' => 'L2', 
    'L3' => 'L3' 
    // Syntax: 'Key' => 'Option Label' 
); 

echo '<select name="select">'; 

// Loop through the array and output each key/value pair as an <option> 
// Compare $Gender variable to each key in the loop, and output selected if so 
foreach ($opts as $key => $label){ 
    echo '<option value="' . $key . '"' . ($Gender == $key ? ' selected="selected"' : '') . '>' . $label . '</option>'; 
} 
echo '</select>';