我从数据库中获取一些值并将它们放在一个下拉框中供用户选择。我有Spry Validations(内置Dreamweaver),因此在提交数据之前必须至少选择一个选项。由于奇怪的奇怪原因,我在每个选项后都有一个空白值,因为我的数据库不包含任何空白字段。
<?php
$id = $_GET['election'];
$sql="SELECT party1, party2, party3 FROM elections WHERE status = 'in_progress' AND election_id = '$id'";
$result=mysql_query($sql);
$options="";
$party2="";
$party3="";
while ($row=mysql_fetch_array($result)) {
$id=$row["party1"];
$thing=$row["party1"];
$options.="<OPTION VALUE=\"$id\">".$thing;
$id=$row["party2"];
$thing=$row["party2"];
$party2.="<OPTION VALUE=\"$id\">".$thing;
$id=$row["party3"];
$thing=$row["party3"];
$party3.="<OPTION VALUE=\"$id\">".$thing;
}
?>
我的表单如下:
<form action="" method="post">
<span id="spryselect1">
<label for="vote">Vote:</label>
<select size="1">
<option selected="selected">Choose</option>
<option value="1"><?=$options?></option>
<option value="2"><?=$party2?></option>
<option value="3"><?=$party3?></option>
</select>
<span class="selectRequiredMsg">Please select an item.</span></span>
<input name="" type="submit" value="Vote" />
</form>
有谁知道为什么我一直得到空白值?我附上了一张图片,告诉你我的意思......
答案 0 :(得分:1)
您正在为变量添加选项标记:
$options.="<OPTION VALUE=\"$id\">".$thing;
但是您在输出时也将变量包装在选项标签中:
<option value="1"><?=$options?></option>
结果将是:
<option value="1"><OPTION VALUE="..">...</option>
给出空标记。