php下拉式总体

php下拉式总体,php,mysql,Php,Mysql,有人能告诉我为什么下面的内容不使用我数据库的dist\u itnry列中的值填充下拉列表吗 <?php $distUsr = $_SESSION['Distributor_user']; $con=mysql_connect('localhost','root') or die ("Server connection failure!"); $db=mysql_select_db('regional_data',$con) or die ("Couldn't connect the da

有人能告诉我为什么下面的内容不使用我数据库的
dist\u itnry
列中的值填充下拉列表吗

<?php 
$distUsr = $_SESSION['Distributor_user'];
$con=mysql_connect('localhost','root') or die ("Server connection failure!");
$db=mysql_select_db('regional_data',$con) or die ("Couldn't connect the database");
$SQL1="SELECT dist_itnry, route FROM sr_itinerary";
$run1=mysql_query($SQL1,$con) or die ("SQL Error");
$nor1=mysql_num_rows($run1);

while($rec=mysql_fetch_array($run1))
{
    while ($rec = $distUsr)
    {
        echo "<option id='options'>$rec<br></option>";
    }
}
?>

您正在覆盖
$rec
。另外,请看一下我所做的其他更改,比如包括
标记和
标记的更正确用法。您可以为
标记指定不同的值。示例:
Something
-这意味着“123”将是提交表单时提交的值。但是“某物”将显示在表单中

更正后的代码如下所示:

<?php 
$distUsr = $_SESSION['Distributor_user'];
$con=mysql_connect('localhost','root') or die ("Server connection failure!");
$db=mysql_select_db('regional_data',$con) or die ("Couldn't connect the database");
$SQL1="SELECT dist_itnry, route FROM sr_itinerary";
$run1=mysql_query($SQL1,$con) or die ("SQL Error");
$nor1=mysql_num_rows($run1);
echo '<select name="dropdown">';
while($rec=mysql_fetch_array($run1))
{
    $value = $rec['dist_itnry'];
    echo "<option value=\"$value\">$value</option>";
}
echo '</select>';
?>

内部while循环看起来可疑-如果
$distUsr
将强制转换为布尔值true,则将有一个无限循环。另外,
$rec
是您的行结果数组,然后您立即(在内部循环中)重新分配它-为什么?您应该在此处进行一些调试-尝试打印行数以查看是否正确。当您使用
$distUsr
覆盖
$rec
时,为什么要执行查询?
而($rec=$distUsr)
对我来说没有多大意义。同样,你在问题中说“在dist_itnry列中”,但你似乎从未访问过
$rec
中的该列。这与你的问题无关,但应该指出的是,在
中有

没有很好的理由。首先,删除你的内部循环,然后用
{$rec交换
$rec
['route']}
-如果这确实是您想要的列,请删除
id='options'
,因为这将生成无效的HTML(
id
属性在文档中必须是唯一的)。