Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态下拉列表!_Php - Fatal编程技术网

Php 动态下拉列表!

Php 动态下拉列表!,php,Php,我编辑了这个问题,因为我之前说的是两段代码 我有以下代码: $f = "SELECT * FROM ".TBL_FIXTURES." WHERE compname = '$_POST[league]' AND home_user = '$_SESSION[username]' ORDER BY away_user"; $fixtures = mysql_query($f); ?> <? while( $row = mysql_fetc

我编辑了这个问题,因为我之前说的是两段代码

我有以下代码:

        $f = "SELECT * FROM ".TBL_FIXTURES." WHERE compname =  '$_POST[league]' AND home_user = '$_SESSION[username]' ORDER BY away_user";
    $fixtures = mysql_query($f);
    ?>
    <?
    while( $row = mysql_fetch_assoc($fixtures))
    {
        extract($row);
        $info = explode("_",$row[compname]);    
        ?>  


        <select name="hu" class="combo">
            <option value="<? echo $home_user ?>"><? echo $home_user?></option>
        </select>       
        <select name="au" class="combo">
        <?php
        while( $row = mysql_fetch_assoc($fixtures))
        {
            $u=$row['away_user'];
            echo "<option value=\"$u\">$u</option>";
        }
        ?>
        </select>
        <?

    }   
    ?>
如您所见,有两个while循环。但是缺少away_用户下拉列表中的第一个值。如果删除第一个循环,它将出现,但home_用户的下拉列表将消失。我怎样才能避开这件事

谢谢

它会给出一个错误吗? 这一行的末尾似乎缺少一个括号:

echo"<div align=\"center\"> <table cellspacing=\"10\" style='border: 1px dotted' width=\"450\" bgcolor=\"#eeeeee\">

我不知道你为什么还要打印一张表。。。但你在循环中输出,这就是问题所在

你应该这样做

echo '<select>';
while (....)
     {
     echo '<option>'.$u.'</option>';
     }
echo '</select>';

<table code here>

问题是,在第二个循环中,您调用mysql\u fetch\u assoc$fixtures,因此在使用第一条记录中的away\u user字段之前,先转到第二条记录。我能想到的两个选择是:

在循环之前创建第一个选项

将循环更改为do while循环

    <select name="au" class="combo">
    <?php
    $u=$row['away_user'];
    echo "<option value=\"$u\">$u</option>";

    while( $row = mysql_fetch_assoc($fixtures))
    {
        $u=$row['away_user'];
        echo "<option value=\"$u\">$u</option>";
    }
    ?>
    </select>
    <select name="au" class="combo">
    <?php
    do
    {
        $u=$row['away_user'];
        echo "<option value=\"$u\">$u</option>";
    } while( $row = mysql_fetch_assoc($fixtures))
    ?>
    </select>