我有一个名为“cat_id”的mysql表。
我的网站编码显示每页的句子列表。但我也希望这些显示页面上句子的div显示它们所属的类别ID。
因此,类别仅从数据库中的数字0开始。那么我将如何制作if语句并将其放入显示内容的div中,如果“cat_id”高于0则显示此代码。
<div class="meta">
<small class="float-left gray">
Your Category: <a href="<?=$u?>categories/<?=$cat_record['cat_id']?>/<?=$page_no?>"><?=stripslashes($cat_record['cat_id'])?></a>
</small>
</div>
答案 0 :(得分:2)
所以我假设这个代码是从查询体中解除的,如果是这样的话,你可以在它周围包装一个if语句
<?php if ($cat_record['cat_id'] > 0): ?>
<div class="meta">
<small class="float-left gray">
Your Category: <a href="<?=$u?>categories/<?=$cat_record['cat_id']?>/<?=$page_no?>"><?=stripslashes($cat_record['cat_id'])?></a>
</small>
</div>
<?php endif; ?>
答案 1 :(得分:1)
我猜你从$cat_record['cat_id']
返回的值被解释为字符串,所以不能用于if语句中的整数比较。
尝试转换为整数并进行比较。
$cat_int = intval($cat_record['cat_id']);
if($cat_int>0)
{
//Code here
}
答案 2 :(得分:0)
您当然可以从您的数据库中获取所有条目,并使用您的PHP代码中的条件仅显示cat_id> 0的那些条件,但我认为只检索那些您需要的数据库中的条目更清晰首先在SQL语句中使用WHERE子句。
尝试以下方法:
<?php
//Get results above 0
$query="SELECT * FROM tablename WHERE cat_id>0";
$result=mysql_query($query);
$cat_records=array();
while($row=mysql_fetch_array($result)) $cat_records[]=$row;
//Loop through results to display the div
foreach($cat_records as $cat_record){
echo '<div class="meta"><small class="float-left gray">Your Category: <a href="'.$u.'categories/'.$cat_record['cat_id'].'/'.$page_no.'">'.stripslashes($cat_record['cat_id']).'</a></small></div>';
}
?>