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

标签 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 只回显第一个名字,而不是第二个。想不通为什么。

最佳答案

您需要在选择选项值中引用给定的字符串,

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

华林: 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 .

关于php - mysql数据库的html表单选项值只存储第一个字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24545946/

相关文章:

javascript - 为什么 moment.utc(...).diff(moment.utc(...)) 受到源日期偏移量的影响

python - 在sqlalchemy中,什么对应于mysql函数 'load_file'?

php - 在 php 中用表而不是行填充我的下拉列表?

php - 将 sql 变量从 INNER JOIN SQL 查询传递给 PHP 脚本

javascript - 如何从 HTML5 Canvas 中删除每隔一个像素?

javascript - 如果用户在未填写表单的情况下单击 "submit",则按钮将全部禁用

php - 在下拉列表中显示从 mysql 中选择的选项

php - 公共(public)表引用,Int 还是 String 标识符?

javascript - 指向同一页面的多个链接,但其中包含不同的信息

mysql - 使用 maria DB、JPA 和 Spring Boot 1.5.4 基于架构的 Multi-Tenancy