在限制查询中使用sql rowcount

时间:2011-10-02 09:03:02

标签: php mysql sql

我的表格如下:

id | Value
-----------
1  | High
2  | Medium
3  | Low
4  | Low

我的php查询如下所示:

    $sqlquery   = "select id from db_name order by id desc limit 3";  
    $fetchres   =  mysql_query($sqlquery);
    if(mysql_num_rows($fetchres)>0){
    while($result =  mysql_fetch_array($fetchres))  
    {   
    if($result['history']=='High'){?>

           <div style="background:#FF0000; width:50px; height:50px; vertical-align:middle;float:left;margin:0 10px 0 0"> </div>&nbsp;
    <?php } else if($result['history']=='Medium') {?>  
            <div style="background:#FF0; width:50px; height:50px; vertical-align:middle;float:left;margin:0 10px 0 0"> </div>&nbsp;
    <?php } else if($result['history']=='Low') {?>  
            <div style="background:#090; width:50px; height:50px; vertical-align:middle;float:left;margin:0 10px 0 0"> </div> &nbsp;

但它显示错误的结果

块1应位于块3,反之亦然,块2保持在当前位置。

使sql查询“asc”没有帮助,它只显示前3个结果,我需要这个来保存最后三个的历史记录。

所以我的问题是你可以在sql查询限制中使用像rowcount这样的东西,如果不是如何纠正代码以正确显示它。

1 个答案:

答案 0 :(得分:3)

在您的SQL查询中,您只选择id列select id from

然后,您将比较结果中的字符串值与不存在的索引history

首先纠正此问题,看看这是否会产生您想要的结果。