2012-10-29 43 views
0

我有一個要求輸入位置的輸入表單。位置存儲在一個MySQL數據庫中,並有一個id(colomn:id和column:location)。從MYSQL的php下拉菜單,如何返回其他列值?

我有一個下拉菜單是從該數據庫的記錄產生:

<select name="location"> 

    <?php       
      $query="SELECT location FROM locations"; 
       $result=mysql_query($query) or die; 

      while ($row=mysql_fetch_array($result)) { 

      $location=$row['location']; 

      echo "<option>$location</option>"; 
    ?> 

    </select> 

這一切工作。當表格被拼湊後,我顯然會得到一個POST [位置],例如「比利時」。

假設比利時是我的數據庫中的位置,並且ID爲5,如何從下拉框中將該ID作爲POST變量返回,而不是位置。當然,我希望下拉菜單顯示位置,而不是ID。

在此先感謝!

+0

添加值與ID如下(第2個答案)屬性,將被退回,而不是它的內容 –

回答

3

每個選項可取的值並顯示另一個字符串,以便使用value="my_value"每個選項的選擇標籤內

<select name="location"> 
    <?php       
     $query="SELECT id, location FROM locations"; 
     $result=mysql_query($query); 

     while ($row=mysql_fetch_array($result)) { 
      echo "<option value=\"" . $row['id'] . "\">" . $row['location'] . "</option>"; 
     } 
    ?> 
</select> 

現在你POST['location']將包含於所選地點

+0

Frate的,回聲是一種語言結構。接受逗號分隔參數。爲什麼要連接,當你只是輸出的東西? 'echo'1','2','3'; //作品無拼接「 – CodeAngry

+0

這是完美的,非常感謝! – Roddeh

0
select ID from locations; 

$ID=$row['ID']; 

將ID替換爲您的課程專欄的ID名稱。

如果你說SELECT * FROM的位置,你可以做這樣的事情:

$row['anyCOLUMNNAME'] 

你可以選擇你喜歡的任何列,並使用從該特定行的信息。

1

數據庫ID如果改變SQl查詢包括位置的ID, 您可以將該值分配給下拉選定值。

<select name="location"> 
<?php 
$query="SELECT id, location FROM locations"; 
$result=mysql_query($query) or die; 
while ($row=mysql_fetch_array($result)) { 

    $location=$row['location']; 
    $id = $row['id']; 
    echo "<option value='".$row['id']."'>".$location."</option>"; 
?> 
</select> 
+1

大聲笑.. 3個帖子都發布在彼此的秒鐘內,:) – Marty

+0

只有一個轉義的HTML,並沒有連接在回聲......這是一種傷心:( – CodeAngry

0
<select name="location"> 
<?php       
// select columns you need, separate by , (comma) 
$query = "SELECT `column1`, `column2` FROM `locations`;"; 
$result = mysql_query($query) or die; 
while ($row = mysql_fetch_array($result)) { 
    // selected columns become accessible in $row array 
    // value attribute needs to be escaped here 
    echo '<option value="', htmlentities($row['column1']),'">', 
     htmlentities($row['column2']), '</option>'; // escape label too 
    // <option> does not accept HTML in label so it should be escaped 
} // done! 
?> 
</select> 

^(閱讀評論的解釋)

相關問題