mysql数据库的html表单选项值只存储第一个单词

时间:2014-07-03 05:56:48

标签: php html mysql forms echo

我能够使用我的数据库中的结果填充下拉问题html表单。但是,我选择的项目是一个名称,虽然在菜单选项中显示名字和姓氏,但在提交时,只显示第一个名称。

$sql = "SELECT DISTINCT name FROM communications";
$result = mysql_query($sql);
echo "<select name='client1'>";
while($row = mysql_fetch_array($result)) {
        echo "<option value=".$row['name'].">";
        echo $row['name'];
        echo "</option>";} 
echo "</select>";?>
<input type="submit" name= "submit2" value="Show">
<input type="hidden" name= "submit3" value="Submit">
</form> 
<?php
if(isset($_POST['submit3'])) 
{ echo $_POST['client1'];   }

client1仅回显第一个名称,而不是第二个名称。无法弄清楚原因。

1 个答案:

答案 0 :(得分:1)

您需要在select option value中引用给定的字符串as,

while($row = mysql_fetch_array($result)) {
        $name = $row['name'];
        echo "<option value='".$name."'>";
                            ^         ^

Waring: Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial