0

スター評価システムのように、ユーザー評価が 5 に設定されている場合に 5 スターを取得する mysql クエリがあります。評価 1 ~ 5 に従って 1、2、3、または 4 つ星を取得する同じスクリプトの別の 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セクションにイメージ コードを配置できます (行がない場合)。

ただし、mysql_関数は非推奨であるため、すべて PDO または mysqli で行うことをお勧めします。

疑似コードで:

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