2015-07-10 34 views
-1

我想填充一個基於變量的選定值的下拉列表,因爲我是全新的PHP我甚至不知道我正在嘗試做什麼是對的,任何意見將不勝感激。整個代碼在選擇包裹,我已經有一個以前的if語句,它工作得很好下拉列表中選擇的值的PHP語法問題

<!--verif si editoin --> 
<?php if($EditResto == true): ?> 
    <option value = ""> 
     <?php 
     $sql = "SELECT ProvinceNameFR FROM Province ORDER BY ProvinceNameFR"; 
     $sqlresult = sqlsrv_query($GLOBALS["dbcon"], $sql); 
      while ($sqlrow = sqlsrv_fetch_array($sqlresult)) { 
      $row1 = $sqlrow["ProvinceNameFR"]; 
       <option value = "" <?php if ($row1 == $resto_province_value) echo 'selected';?>> $resto_province_value </option>;   
     ?> 
    </option> 
<?php endif;?> 
+0

你遇到的具體問題是什麼? – showdev

+0

設置完'$ row1'後,你肯定會遺漏'?>'。從風格的角度來看,像這樣的代碼切換進出php很難閱讀和維護。考慮使用'print'從你的php循環中輸出文本。 – Jerry

回答

-1

嘗試這個

<?php if($EditResto == true): 
$sql = "SELECT ProvinceNameFR FROM Province ORDER BY ProvinceNameFR"; 
$sqlresult = sqlsrv_query($GLOBALS["dbcon"], $sql); 
while ($sqlrow = sqlsrv_fetch_array($sqlresult)) { 
$row1 = $sqlrow["ProvinceNameFR"]; 
?> 
<option value = "" <?php if($row1 == $resto_province_value) 
echo 'selected';?>><?php echo $resto_province_value?></option> 
<?php }?> 

<?php endif;?> 
+0

工作良好。謝謝 – PhpNewbie

1

雖然修復該?>結束標記將解決您的語法錯誤,這是我如何編寫代碼,以便在我看來更容易閱讀。

<!--verif si editoin --> 
<?php 
if($EditResto == true){ 
    $sql = "SELECT ProvinceNameFR FROM Province ORDER BY ProvinceNameFR"; 
    $sqlresult = sqlsrv_query($GLOBALS["dbcon"], $sql); 

    // Print Default Option 
    print '<select>'; 

    while ($sqlrow = sqlsrv_fetch_array($sqlresult)) { 
     $row1 = $sqlrow["ProvinceNameFR"]; 
     $optionHTML = '<option value = ""'; 
     if ($row1 == $resto_province_value) { 
      $optionHTML .= ' selected'; 
     } 
     $optionHTML .= '>' . $resto_province_value . '</option>'; 
     print $optionHTML; 

    } 
    print '</select>'; 
} 

你可能要設置的HTML選擇元素的屬性name=""和選項的屬性value=""