获取选择框以使用 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>";
}
}
?>
需要有关此 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>";
}
}
?>