如果表> MySQL显示代码0

时间:2012-10-03 23:01:49

标签: php mysql

我有一个名为“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>   

3 个答案:

答案 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>';
    }
?>