需要一些关于PHP和MySQL查询的帮助。 选择框正确填充,但是为了选择当前设置的默认值,我似乎无法获得if语句。一直试图在这个问题的每个地方找到答案,但似乎无法得到它。
我要做的是只选择TOP表中的最新一行,看看BRAND字段是否等于表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>
EDIT1:
这是我得到的HTML; $ rtop-&gt;品牌不会返回值。因此if语句总是假的,即使它是;从逻辑上讲,应该返回true。
<select name="top">
<option value='21'>asd</option>
<option value='22'>Test1</option>
</select>
答案 0 :(得分:0)
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>";
}
&#13;
答案 1 :(得分:0)
我想,这应该帮助你:
$querytop = $db->query("SELECT MAX(NUM) FROM TOP");
更改为:
$querytop = $db->query("SELECT MAX(NUM) AS BRAND FROM TOP");
答案 2 :(得分:0)
我遇到的问题是当我实际上试图从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>";
}
}
?>