Php 如何在表单中添加5次相同的下拉列表?

Php 如何在表单中添加5次相同的下拉列表?,php,mysql,Php,Mysql,我想做7个下拉列表,最后5个有相同的内容,现在我的问题是第3个显示所有的内容,但其余的(4,5,6,7)只显示“选择电影”。 代码如下: @$pro=$_GET['pro']; if(strlen($pro) > 0 and !is_numeric($pro)){ / echo "Data Error"; exit; } $quer=mysql_query('SELECT DISTINCT programName,programId FROM '.TBL_PROG

我想做7个下拉列表,最后5个有相同的内容,现在我的问题是第3个显示所有的内容,但其余的(4,5,6,7)只显示“选择电影”。 代码如下:

@$pro=$_GET['pro']; 
if(strlen($pro) > 0 and !is_numeric($pro)){ / 
    echo "Data Error";
    exit;
}   
$quer=mysql_query('SELECT DISTINCT programName,programId FROM '.TBL_PROGRAM.' order by programId'); 
if(isset($pro) and strlen($pro) > 0){
    $quer2=mysql_query("SELECT DISTINCT categorieName,id FROM ".TBL_CATEGORIE."where id=$pro order by id" );
   }else{
    $quer2=mysql_query("SELECT DISTINCT categorieName,id FROM ".TBL_CATEGORIE." order by id"); 
   } 
if(isset($pro) and strlen($pro) > 0){
    $quer3=mysql_query("SELECT DISTINCT movieName,movieId FROM ".TBL_MOVIE." where movieId=$pro order by movieId"); 
    }else{
    $quer3=mysql_query("SELECT DISTINCT movieName,movieId FROM ".TBL_MOVIE." order by movieId"); 
    } 
echo "<form method=POST name=f1 action='program.php'>";
    echo "<select name='pro[]' style='width:150' onchange=\"reload(this.form)\"><option value=''>Make your Program</option>";
    while($noticia = mysql_fetch_array($quer)) { 
        if($noticia['programId']==@$pro)
         {
           echo "<option selected value='$noticia[programId]'>$noticia[programName]</option>"."<BR>";}
        else{ 
         echo  "<option value='$noticia[programId]'>$noticia[programName]</option>";}
         }
    echo "</select>";
    echo "<BR>"; 
    echo "<select name='pro[]' style='width:150' onchange=\"reload3(this.form)\"><option value=''>Choose Categorie</option>";
    while($noticia2 = mysql_fetch_array($quer2)) { 
    if($noticia2['id']==@$pro)
    {
        echo "<option selected value='$noticia2[id]'>$noticia2[categorieName]</option>"."<BR>";}
    else{ 
        echo  "<option value='$noticia2[id]'>$noticia2[categorieName]</option>";}
    }
    echo "</select>";
    echo "<BR>"; 
    $i=0;
    while($i<5){
        echo "<select name='pro[]' style='width:150' ><option value=''>Select movie</option>";

        while($noticia3 = mysql_fetch_array($quer3) ) {

        echo  "<option value='$noticia3[movieId]'>$noticia3[movieName]</option> ";

    }
    echo "</select>";
    echo "<BR>";
    $i++;
    }
echo"<input type=hidden name=submit value=1>";
echo "<input type=submit value=Submit>";
echo "</form>";
?>
@$pro=$\u GET['pro'];
如果(strlen($pro)>0并且!是数值($pro)){/
回显“数据错误”;
出口
}   
$quer=mysql\u查询('SELECT DISTINCT programName,programId FROM'.TBL\u PROGRAM.'order by programId');
如果(isset($pro)和strlen($pro)>0){
$quer2=mysql_查询(“从“.TBL_CATEGORIE.”中选择不同的categorieName,id,其中id=$proorderby id”);
}否则{
$quer2=mysql_查询(“从“.TBL_CATEGORIE.”按id排序中选择不同的categorieName,id”);
} 
如果(isset($pro)和strlen($pro)>0){
$quer3=mysql_查询(“从“.TBL_MOVIE.”中选择不同的movieName、movieId,其中movieId=$proorderbymovieid”);
}否则{
$quer3=mysql_查询(“从“.TBL_MOVIE.”;
} 
回声“;
echo“制作你的程序”;
而($noticia=mysql\u fetch\u数组($query)){
如果($noticia['programId']=@$pro)
{
echo“$noticia[programName]”
“;} 否则{ echo“$noticia[programName];} } 回声“; 回声“
”; 呼应“选择分类”; 而($noticia2=mysql\u fetch\u数组($query2)){ 如果($NOTIIA2['id']=@$pro) { 回显“$NOTIIA2[CATEGRIENAME]”
“;} 否则{ 回显“$NOTIIA2[categorieName];} } 回声“; 回声“
”; $i=0; 而我
欢迎任何建议,任何其他方法。谢谢

    while($noticia3 = mysql_fetch_array($quer3) ) {

这将在第一次通过
$i<5
while循环从
$query3
获取所有结果。因此,当$i=0时,您将打印所有查询结果。然后i=1出现,不再有结果行。对于i=2,i=3等,情况相同。

一旦您从mysql结果中获取记录,将其位置移动到下一行…通过e第一次循环的nd位置将保持在记录结束状态,因此从第二次循环开始,它将只打印空白

所以更好: 1.)以字符串形式存储选项列表 2.)在循环中打印列表

而是使用:

$i=0;
$strOptions = '';
while($noticia3 = mysql_fetch_array($quer3) ) {

     $strOptions .=  "<option value='$noticia3[movieId]'>$noticia3[movieName]</option>";

}
while($i<5){
    echo "<select name='pro[]' style='width:150' ><option value=''>Select movie</option>";
    echo $strOptions;
    echo "</select>";
    echo "<BR>";
    $i++;
}
$i=0;
$strOptions='';
而($noticia3=mysql\u fetch\u数组($query3)){
$strOptions.=“$noticia3[movieName]”;
}
而我