【问题标题】:html form option value of mysql database only stores first wordmysql数据库的html表单选项值只存储第一个单词
【发布时间】:2014-08-24 02:52:12
【问题描述】:

我能够用我的数据库中的结果填充一个下拉问题 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 只回显第一个名称,而不是第二个。不知道为什么。

【问题讨论】:

    标签: php html mysql forms echo


    【解决方案1】:

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

    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

    【讨论】:

    • 您是否考虑在您的答案中不使用缩短的 URL?我已经多次取消缩短这些相同的 URL 并且它变得有点老了......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多