Php 在下拉列表顶部显示所选类别

Php 在下拉列表顶部显示所选类别,php,mysql,Php,Mysql,我有一个updateProducts页面,我想在其中显示一个类别下拉列表,在该下拉列表中,我希望与特定产品相关的类别必须显示在列表的顶部。这意味着,下拉列表必须显示所有类别,但所选类别应显示在列表顶部 code: $pid=$_GET['id']; //getting the id from another page $data=mysqli_query($con,"SELECT * FROM products WHERE pid='$pid'"); while($ro

我有一个updateProducts页面,我想在其中显示一个类别下拉列表,在该下拉列表中,我希望与特定产品相关的
类别必须显示在列表的顶部
。这意味着,下拉列表必须显示所有类别,但所选类别应显示在列表顶部

code:

    $pid=$_GET['id']; //getting the id from another page

    $data=mysqli_query($con,"SELECT * FROM products WHERE pid='$pid'");
    while($row=mysqli_fetch_array($data))
    {
        echo "<td><img src='../product_images/".$row['image']."' height='66px' width='66px' ></td>";    
        echo "<td><input type='text' value='".$row['title']."'></td>";
        echo "<td><input type='text' value='".$row['body']."'></td>";
        echo "<td><input type='text' value='".$row['cost']."'></td>";

    }

    $data2=mysqli_query($con,"SELECT * FROM category");
    echo "<td><select>";
    echo "<option>Category</option>";
    while($row2=mysqli_fetch_array($data2))
    {
        echo "<option>".$row2['category']."</option>";
    }
    echo "</select></td>";
$pid=$\u GET['id']//从另一个页面获取id
$data=mysqli_查询($con,“从产品中选择*,其中pid='$pid');
while($row=mysqli\u fetch\u数组($data))
{
回声“;
回声“;
回声“;
回声“;
}
$data2=mysqli_查询($con,“从类别中选择*);
回声“;
呼应“范畴”;
而($row2=mysqli\u fetch\u数组($data2))
{
回显“$row2['category']”;
}
回声“;

首先循环结果并分离顶部的结果,然后输出选择

$cid=??;

$display_top;
$display_rest=array();

while($row2=mysqli_fetch_array($data2))
    {
           //if id == on_top_id set the variable on_top
        if($row2['id'] === $cid){
           $display_top= "<option>".$row2['category']."</option>";
           }
           //the rest
        else{
          $display_rest[] = "<option>".$row2['category']."</option>";
          }
    }
   //output the select
echo "<td><select>";
echo "<option>Category</option>";
   //first echo the id_on_top
echo $display_top;
   //echo the rest
echo implode('',$display_rest);
echo "</select></td>";
$cid=??;
$display_top;
$display_rest=array();
而($row2=mysqli\u fetch\u数组($data2))
{
//如果id==on\u top\u id将变量设置为on\u top
如果($row2['id']=$cid){
$display_top=“”.$row2['category']。”;
}
//其余的
否则{
$display_rest[]=”.$row2['category']。”;
}
}
//输出所选内容
回声“;
呼应“范畴”;
//首先在顶部回显id_
echo$显示器顶部;
//呼应其余的
回波内爆(“”,$display\u rest);
回声“;

请查看有关参数化的信息queries@Strawberry谢谢,为了简单起见,我没有使用事先准备好的语句。您能否帮助我解决与下拉列表相关的问题?“与特定产品相关的类别”在
类别
表中的关系是什么?什么变量定义了特定的产品?@Michel我可以使用
cid
(类别id)筛选该产品但如果我这样做,只会显示一个特定类别的条目。非常感谢@Michel。