2012-10-29 41 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> 

^(阅读评论的解释)

相关问题