-3

我正在为一位邻居设计一个他想开的潜在餐厅的网站。我需要为推荐/评论创建一个页面。我想对其进行编码,以便星数在 SQL 中,我只是不知道该怎么做。

基本上我正在寻找的是一种方法来确定评级字段(1-5)的整数,并为每个数字显示一个星形图像。

所以:

if rating = 1, display star.png once
if rating = 2, display star.png twice
...
if rating = 5, display star.png five times

我只是不确定如何编写代码来做到这一点。

该网站是用 PHP 和 CSS 编写的。我想避免使用 JQuery、Javascript、.NET 等,因为我对它们不太熟悉,并且会保持网站最新。

到目前为止,这是我所得到的,但它无法正常工作,并且出现语法错误:

$result = mysqli_query($con,"SELECT * FROM Reviews");   
while($row = mysqli_fetch_array($result)) 
  {
    IF (Rating = "1"()){
    echo '<img src="star.png">' . }
ELSE IF (Rating = "2"()){
    echo '<img src="star.png"><img src="images/star.png">' . }
Else IF (Rating = "3"()){
    echo '<img src="star.png">star.png"><img src="images/star.png">' . }
    ELSE IF (Rating = "4"()){
    echo '<img src="star.png"><img src="images/star.png">star.png"><img src="images/star.png">' . }
ELSE 
    echo '<img src="star.png"><img src="images/star.png">star.png"><img src="images/star.png"><img src="images/star.png">' .
"<br/> <b>" . 
$row['Name'] . 
"</b> <em>" . 
$row['City'] . $row['State'] . $row['Country'] . "</em><br/>" . 
$row['Review'] . "<br/> <hr> <br/>"
  }
?>
4

5 回答 5

0

使用循环根据您的评分输出您的 HTML。

$rating = 4;  //Figure this out in your script and set accordingly

for($i = 0; $i < $rating; $i++) {
    echo '<img src="star.png" />';
}

应该为你打印出四颗星。

于 2013-08-10T04:06:56.673 回答
0

使用select语句从数据库中获取某个地点的评分。

将结果存储在 php 变量中(让我们调用它$rating

使用 php 逻辑根据$rating.

希望有帮助:)

于 2013-08-10T03:15:03.650 回答
0

我会为这个想法推荐 3 张桌子。

用户表 UserRatings 表 Dish 表

用户表用于存储它。用户信息。例如,可能是用户名、密码、名字、姓氏。该表应该有一个主键。称它为用户 ID。它应该自动递增,并且对于每一行都是唯一的。

餐桌是下一个。把菜名放进去。它也应该有一个主键。称之为 DishID。

最后是 UserRatings 表将存储 UserRatingsId、Rating、InsertTimeStamp、UpdateTimeStamp。

于 2013-08-10T03:59:38.560 回答
0

朋友的帮助:

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$starCount = 0;
$result = mysqli_query($con,"SELECT * FROM Reviews");

while($row = mysqli_fetch_array($result)) {
  $starCount = $row['Rating'] ;
  while ($starCount > 0) {
    echo '<img src="images/star.png">';
    $starCount  -- ;
  }
  $starCount = 0;

  echo "<br/> <b>" . $row['Name'] . "</b>&nbsp;-&nbsp;<em>" . 
$row['City'] .",&nbsp;". $row['State'] ."&nbsp;". $row['Country'] . "</em><br/>" .
$row['Review'] . "<br/> <hr> <br/>" ;
  }
?>
于 2013-08-10T21:07:16.470 回答
-1
 $number=$row->rating   ;   
 $middle="";
 $first="<td width='200' align='left'>";
  for($x=1;$x<=$number;$x++) {

   $middle=$middle.img($fullimage_properties);  
}


if (strpos($number,'.')) {
    $middle=$middle.img($halfimage_properties); 
    $x++;
}
while ($x<=5) {
    $middle=$middle.img($blankimage_properties);    ;
    $x++;
}


echo $last=$first.$middle."</td>";
于 2014-01-26T09:51:43.097 回答