我有一个简单的查询和php echo语句,它输出一个无序的结果列表。
我想在结果前面显示一个图标,其中有一定的数据值。
这就是我所拥有的,但第一个if语句被忽略了,大概是因为我的代码中存在固有错误。
我认为错误存在于此行中:if(vopac> = 500且llf> = 250)。结果是吐出所有其他数据。 if语句的逻辑是正确的,但除非它们是声明的变量,否则我不能在PHP中使用这些值吗?
$query = "SELECT b.cb_professionalname as name, b.cb_2013vopac as vopac, b.cb_2013llf as llf
from jos_comprofiler b, jos_users a
where a.id = b.user_id
and a.block=0
order by lastname";
$db->setQuery( $query );
$result = $db->loadObjectList();
echo "<ul class='columns'>";
foreach($result as $row)
if (vopac >= 500 and llf >= 250) {
echo "<li><img src='images/icons/medal_gold_1.png' title='Gold Status'>$row->name</li>";
} else {
echo "<li>$row->name</li>";
}
echo "</ul>";
答案 0 :(得分:1)
我相信您需要使用$row->vopac
和$row->llf
修改强>
只是为了澄清,您需要使用上述内容的原因是因为每一行都作为对象返回,因此您将使用箭头( - &gt;)运算符访问每个对象的成员
答案 1 :(得分:0)
foreach($result as $row) {
if ($row["vopac"] >= 500 and $row["llf"] >= 250) {
echo "<li><img src='images/icons/medal_gold_1.png' title='Gold Status'>$row->name</li>";
} else {
echo "<li>$row->name</li>";
}
}
如果不起作用,请尝试输入
if ((int)$row["vopac"] >= 500 AND (int)$row["llf"] >= 250){