2014-07-20 29 views
-1

我想驗證國家Php是否與其他?符號

<option<? $nationality == 'Albania' ? echo 'selected="selected"';?> value="Albania">Albania</option> 

我要檢查,如果變量$國籍是阿爾巴尼亞

如果這是真的,我想選擇=「選擇」回聲HTML代碼

有什麼錯我的代碼

我得到一個錯誤

Parse error: syntax error, unexpected T_ECHO 
+0

把其他條件也.. –

回答

4

您應該在條件之前放置回聲。此外,「其他」部分缺失。這應該這樣做:

<option<? echo ($nationality == 'Albania') ? ' selected="selected"' : ''; ?> value="Albania">Albania</option> 

欲瞭解更多信息,檢查documentation

0

您需要正確完成您的三元運算符並在其之前添加echo。 這是你應該做的:

<option<? echo $nationality == 'Albania' ? echo 'selected="selected"' : '';?> value="Albania">Albania</option> 
+0

如上所指出,第二「迴響」應該被省略,因爲它會產生一個錯誤。 – FKasa

1

我想首先說,在PHP中使用短標籤是不是推薦,因爲它是相同的標籤XML使用。

<option<?php echo ($nationality == 'Albania' ? 'selected="selected"' : '');?> value="Albania">Albania</option> 

我改變了這一點,所以它會回顯變量的速記值。它不起作用的原因是因爲速記要求:用於else語句。

此外,由於這看起來是一個國家名單,您可以通過循環的值來節省大量時間。

<?php 
    $nationality = "Country1"; 
    $countries = array('Country1','Country2'); 
    echo '<select>'; 
    foreach($countries as $country) { 
     echo '<option value="'.$country.'"'.($nationality == $country ? ' selected="selected"' : '').'>'.$country.'</option>'; 

     // This below line is just for formatting. It can be removed; 
     echo "\n"; 
    } 
    echo '</select>'; 
?> 

代碼輸出

<select> 
    <option value="Country1" selected="selected">Country1</option> 
    <option value="Country2">Country2</option> 
</select> 
相關問題