2012-05-29 93 views
0

我創建一個數組,然後使用php和html顯示下拉列表的元素。該數組的大小不同,所以我有一個foreach語句來顯示它,問題是我無法弄清楚爲什麼下拉列表中的第一個值總是爲空(我希望第一個值實際上來自我的數組)。這裏的代碼,任何幫助非常感謝!PHP從數組下拉列表中刪除空值

<html> 
    <form id="form1" name="form1" method="post" onsubmit="" onreset="" action="thing.php"> 
<?php 

$data = array(); 
$data[4] = 20.4541; 
$data[5] = 32.5631; 
$data[6] = 41.9715; 
$data[7] = "text"; 
$data[10] = 2231; 
$bestValue = 5; 

echo " " . $key; 
echo "<select name='dropdown'>"; 
echo "<option value=''></option>"; 

if($_POST['dropdown'] !=0){ 
    foreach($data AS $key=>$value) { 
     $sel = ''; 
     if($key==$_POST['dropdown']) { 
      $sel = "selected"; 
     } 

     echo "<option value='".$key."' ".$sel.">".$key."</option>"; 
    }}  
else{ 

    foreach($data AS $key=>$value) { 
     $sel = ''; 
     if($key==$bestValue) { 
       $sel = "selected"; 
     } 
     echo $value; 

     echo "<option value='".$key."' ".$sel.">".$key."</option>";    
    }}  

echo "</select>"; 


foreach($data AS $key2=>$value){ 
    if($_POST['dropdown'] == $key2){ 
    echo " " . $data[$key2] . " degrees";}} 
?> 

<script> 
function submitForm(action) 
{ 
    document.getElementById('form1').action = action; 
    document.getElementById('form1').submit(); 
} 
</script> 
<center> 
<input type="button" onclick="submitForm('thing.php')" value="Find Angle" /> 
</center> 

</html> 

正如您所看到的,下拉列表中的第一個值爲空。我如何刪除它?謝謝。

回答

2

您打印的第一個選項是空白選項。

echo "<select name='dropdown'>"; 
echo "<option value=''></option>"; 

刪除線

echo "<option value=''></option>"; 
+1

謝謝你,因爲你們可以看到我是新來這。爲什麼這個問題會減少?這個網站真的非常精英,不鼓勵任何問題嗎?我相信你們剛剛開始在某個時候第一次學習php ...... – Joegramming

4

只要刪除第三個回波線。

echo "<option value=''></option>";