php中的下拉值问题

时间:2011-01-17 10:36:31

标签: php

我有一个下拉列表,它是从数据库表中动态填充的,即

<form method=post action='dropdown.php'>
<?php
$query="SELECT DISTINCT style FROM style";
$result = mysql_query ($query);
echo "<select name=style[] size=4 value='' multiple>Choose Style</option>";
         while($nt=mysql_fetch_array($result)){//Array or records stored in $nt
          echo "<option value=$nt[style]>$nt[style]</option>";
           }
         echo "</select>";// Closing of list box
          mysql_close($conn);?>
<input type=submit> </form>

当我将表格发布到另一页时,未显示空格后的下拉值,即如果我从下拉列表中选择(Micro Pave),则它将仅显示Micro。我的PHP代码是

$style=$_POST['style'];
if( is_array($style)){
while (list ($key, $val) = each ($style)) {
echo $val."<br/>";
}
}

5 个答案:

答案 0 :(得分:1)

 echo "<option value='$nt[style]'>$nt[style]</option>";

错过了你的单引号! :)

答案 1 :(得分:1)

选项值中缺少引号:

$ntstyle = htmlspecialchars($nt['style'], ENT_QUOTES);
echo "<option value='{$ntstyle}'>".$ntstyle."</option>";

答案 2 :(得分:1)

<?php
$query = "SELECT DISTINCT style FROM style";
$result = mysql_query($query);

echo 'Choose Style
      <select name="style[]" size="4" multiple="multiple">';
while ($nt = mysql_fetch_array($result)) {
  echo '<option value="'.$nt['style'].'">'.$nt['style'].'</option>';
}
echo '</select>';
mysql_close($conn);
?>

答案 3 :(得分:0)

首先,任何属性都应包含在双引号中。

echo "<option value=$nt[style]>$nt[style]</option>";

应该是

echo '<option value="'.$nt[style].'">'.$nt[style].'</option>';

答案 4 :(得分:0)

不幸的是,很多事情都错了...... :(

"{$nt['style']}"开始,而不仅仅是"$nt[style]"。 (或更好的是:echo 'Constant', $arr['item'];

解决此问题:

echo "<select name=style[] size=4 value='' multiple>**Choose Style</option>**;

这是标签的错误位置,标签未打开!

还要在HTML中为你的params =“”添加“”。