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

时间:2017-02-01 09:46:49

标签: php html mysql drop-down-menu selected

需要一些关于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>

3 个答案:

答案 0 :(得分:0)

&#13;
&#13;
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;
&#13;
&#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>";
	    }
    }
?>