Php 显示下拉列表中的选定值

Php 显示下拉列表中的选定值,php,select,drop-down-menu,echo,Php,Select,Drop Down Menu,Echo,嗨,我一直在开发一个表单,其中有一个下拉菜单,它的值来自数据库。我的问题是它没有显示提交表单后选择的值。有什么问题吗 <select name="professional" /> <option value="">Choose one</option> <?php $result2 = mysql_query("SELECT * FROM professional");

嗨,我一直在开发一个表单,其中有一个下拉菜单,它的值来自数据库。我的问题是它没有显示提交表单后选择的值。有什么问题吗

<select name="professional" />
        <option value="">Choose one</option>
            <?php 
                $result2 = mysql_query("SELECT * FROM professional");
                while($row2 = mysql_fetch_array($result2))
                {
                    $prc = $row2['name'];
                    $prof = $row2['prcno'] ."\t"."|\t".  $row2['name'] ."\t"."|\t".$row2['profession'];
                    echo "<option value ='$prc'>$prof</option>";
                }

            ?>
        </select>

选一个
试试
selected=“selected”

代替

selected

在我看来,您并没有增加$i,所以在while循环的每个迭代中都会覆盖$p1[0]和$p2[0]

因此,在循环的开头或结尾添加$i++,或者将它们的全部用法放到数组中($p1和$p2),并像在第一个代码块中一样使用$prc和$prof,或者您需要它们来做些什么

另一件事,尝试删除value和=“$p1[$i]”之间的空格-但我不确定这是否有问题。

将这些行更改为

echo "<option selected value ='<?php echo $p1[$i]; ?>'><?php echo $p2[$i]; ?></option>";
echo”“;
不要忘了增加你的$i


希望对您有所帮助:)

您的表单元素是否有
method=“post”
的内容是什么?在登录页中它是空的?使用print\u r并逐行调试代码,您将得到解决方案。首先打印$result2的值,然后是$row2,然后是$prc,然后是$post什么打印?我不知道如何使用它。它不是必需的:在if条件下,这一行:echo“$p2[$i]”;我将如何增加?添加$i++;在关闭while循环'else{echo”“;}$i++;}'之前您是否保存了扩展名为“.html.php”(一起)的文件?删除我写的“我将如何增加”?在while循环中(在循环的开头或结尾)添加以下行:
$i++
与:
$i+=1
$i=$i+1
echo "<option selected value ='<?php echo $p1[$i]; ?>'><?php echo $p2[$i]; ?></option>";