0

当在下拉列表中进行选择时,我想存储表中的所有行值(可能在数组中?),以便我可以通过列名从所选行中检索任何值。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<label for="select"><select name="id" value="Select" size="1" onChange="this.form.submit()"> 
<?php 
$sql = "SELECT * FROM matningar WHERE matningstyp ='odb'";  
$result = mysql_query($sql) or die (mysql_error());  
while ($row = mysql_fetch_array($result)) 
{ 
        $namn=$row["namn"]; 
        $foretag=$row["foretag"];  
        $options.="<OPTION VALUE=\"$foretag\">".$namn; 
} 
?> 
        <option>
        <? echo $options ?>
        </option>
    </select>
</form>
4

2 回答 2

0

你的代码应该是这样的

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<label for="your_select"><select id="your_select" name="id" onChange="this.form.submit()"> 
<?php 
$sql = "SELECT * FROM matningar WHERE matningstyp ='odb'";  
$result = mysql_query($sql) or die (mysql_error());  
while ($row = mysql_fetch_array($result)) 
{ 
        $namn=$row["namn"]; 
        $foretag=$row["foretag"];  
        $options.="<OPTION VALUE=\"$foretag\">".$namn.'</option>';
} 
?> 
        <? echo $options ?>
    </select>
</form>
于 2012-06-20T13:44:30.070 回答
0

再次检查您的代码,我认为您犯了一些错误。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
    <label for="select">
    <select name="id">
           <?php 
                  $sql = "SELECT * FROM matningar WHERE matningstyp ='odb'";  
                  $result = mysql_query($sql) or die (mysql_error());  
                  while ($row = mysql_fetch_array($result)) { 
                          echo "<option value='".$row['foretag']."'>".$row['namn']."</option>";
                  } 
           ?> 
    </select>
</form>

它更短更高效。

于 2012-06-20T13:38:24.187 回答