0

我有一个 mysql 查询,如果用户评分设置为 5,它会获得 5 颗星,就像星级评分系统一样。同一剧本的另外 4 个根据等级 1-5 获得 1、2、3 或 4 颗星。

我想要的是在 mysql 表中没有结果时回显图像。我已经尝试了以下,但没有任何回应。有人可以告诉我我需要做什么吗?

我试过添加这段代码,但我只是得到一个数组错误。

<?php
if (is_null($get_star_rating_set))  
{
    echo "HELLO";
}    
?>

这是通常的代码:

<?php
$get_star_rating_set = get_star_rating();
while ($rating = mysql_fetch_array($get_star_rating_set))
    if ($rating['rating'] == '0') { echo '
      <div class="star-rate">
        <table width="40%" border="0" cellspacing="5" cellpadding="0">
          <tr>
            <td width="17%" align="left" valign="middle" scope="col"><img src="../PTB1/assets/img/icons/favorites.png" id="R1" alt="0" style="cursor:pointer" title="Not at All" width="27" height="25" /></td>
            <td width="17%" align="left" valign="middle" scope="col"><img src="../PTB1/assets/img/icons/favorites.png" id="R2" alt="1" style="cursor:pointer" title="Somewhat"   width="27" height="25" /></td>
            <td width="17%" align="left" valign="middle" scope="col"><img src="../PTB1/assets/img/icons/favorites.png" id="R3" alt="2" style="cursor:pointer" title="Average"    width="27" height="25" /></td>
            <td width="17%" align="left" valign="middle" scope="col"><img src="../PTB1/assets/img/icons/favorites.png" id="R4" alt="3" style="cursor:pointer" title="Good"       width="27" height="25" /></td>
            <td width="24%" align="left" valign="middle" scope="col"><img src="../PTB1/assets/img/icons/favorites.png" id="R5" alt="4" style="cursor:pointer" title="Very Good"  width="27" height="25" /></td>
          </tr>
        </table>
      </div>';
    }
?>
4

1 回答 1

3

当 mysql 表中没有结果时,您将永远不会进入while循环。

因此,您可以添加一个条件来检查while循环周围的行数,并将图像代码放在该else部分中(如果没有行)。

但是,我建议您在 PDO 或 mysqli 中执行所有这些操作,因为这些mysql_函数已被弃用。

在伪代码中:

do query
if number of rows > 0
  do normal stuff
else
  echo your no results image
于 2012-12-20T01:08:32.173 回答