获取选择框以使用 mysql 数据库中的最新值设置默认值

getting a selection box to set a default value using the latest value in a mysql database

需要有关此 PHP 和 MySQL 查询的帮助。 selection 框已正确填充,但对于 selecting 当前设置的默认值,我似乎无法使 if 语句正常工作。一直试图到处寻找这个问题的答案,但似乎无法得到它。

我想做的是 select 来自 table TOP 的最新行,并查看字段 BRAND 是否等于来自 table BRANDS 的 SN 字段

希望有人能阐明我在这里的失败,因为我正在努力。

<select name="top">
<?php
$query = $db->query("SELECT * FROM BRANDS");
$querytop = $db->query("SELECT MAX(NUM) FROM TOP");
$rtop = $querytop->fetch_object();
while($row = $query->fetch_object()){
if ($row->SN == $rtop->BRAND){
echo "<option value='".$row->SN."' selected=\"selected\">".$row->BRAND."</option>";
}else{
echo "<option value='".$row->SN."'>".$row->BRAND."</option>";
}
}
?>
</select>

编辑 1:

这是我得到的 HTML; $rtop->BRAND 没有 return 值。因此 if 语句总是错误的,即使它是;从逻辑上讲,应该 return true.

<select name="top">
 <option value='21'>asd</option>
    <option value='22'>Test1</option> 
</select>

Please Try This type..:)
if ($row->SN == $rtop->BRAND){
echo "<option value='{$row->SN}' selected=\"selected\">"{$row->BRAND}"</option>";
}else{
echo "<option value='{$row->SN}'>"{$row->BRAND}"</option>";
}

我想,这应该对你有帮助:

$querytop = $db->query("SELECT MAX(NUM) FROM TOP");

更改为:

$querytop = $db->query("SELECT MAX(NUM) AS BRAND FROM TOP");

我遇到的问题是,当我实际尝试从 num 字段中查找 BRAND 值时,我只选择了 NUM 字段。 更正

$querytop = $db->query("SELECT BRAND FROM toppage WHERE NUM=(SELECT max(NUM) FROM toppage)");

代码完整

<?php
 $query = $db->query("SELECT * FROM BRANDS");
 $querytop = $db->query("SELECT BRAND FROM toppage WHERE NUM=(SELECT max(NUM) FROM toppage)");
 $rtop = $querytop->fetch_object();
 while($row = $query->fetch_object()){
     if ($row->SN == $rtop->BRAND){
       echo "<option value='$row->SN' selected=\"selected\">".$row->BRAND."</option>";
     }else{
       echo "<option value='$row->SN'>".$row->BRAND."</option>";
     }
    }
?>