12

私のデータベース1には、、、、、、、および_22.533.544.55

これらの数字を星に変換したい。

私は満点の星と半分の星を持っています。

データベースから情報を取得した後、どうすればそれを行うことができますか?

データベースに評価タグがあります。

4

5 に答える 5

33
<?php
    for($x=1;$x<=$starNumber;$x++) {
        echo '<img src="path/to/star.png" />';
    }
    if (strpos($starNumber,'.')) {
        echo '<img src="path/to/half/star.png" />';
        $x++;
    }
    while ($x<=5) {
        echo '<img src="path/to/blank/star.png" />';
        $x++;
    }
?>

*PHPを使用していると仮定します

于 2012-04-20T17:41:49.583 に答える
8

私が過去にこれを行ったとき、私は5つの満たされた星の1つの画像の下に5つの空の星の1つの画像を使用しました。それから私は次のようなことをしました

filled-stars.width = (empty-stars.width * (rating / 5)

このようにして、3.2978などの評価を表示できます。

于 2012-04-20T18:29:41.180 に答える
2

PHP、HTML、および CSS を使用してそれを行うことができます。

<div class="star-<?=$number?>">
    <b></b><b></b><b></b><b></b><b></b>
</div>

次に、CSS でスタイルを設定して、星に応じて背景画像を表示できます。<b>タグをタグに変換すると、<a>おそらくよりセマンティックになります。

于 2012-04-20T17:58:29.180 に答える
1

スプライトの使用を検討してください。可能な評価ごとに星の列を含むグラフィックから始めて、次に、各半星グラフィックの高さに評価の半星の数を掛けて、背景オフセットを計算します。

例えば:

<?php
$offset =
    ($rating / .5)  // number of half-stars in $rating
  * 15;             // height of each sprite in stars.png
?>
<div style="background-image:url("stars.png");background-position:0 <?php echo $offset; ?>px;"></div>

少しのJavascriptと組み合わせると、フル機能の評価ウィジェットを実装できます。

于 2012-04-20T18:38:42.613 に答える
1

ここでは、echo '*';必要に応じて星と半分をecho '+';
追加します'*''+'<img src="star.gif" /><img src="halfstar.gif" />

// This number of stars:
$number = 2.7;

// Make it integer:
$stars = round( $number * 2, 0, PHP_ROUND_HALF_UP);

// Add full stars:
$i = 1;
while ($i <= $stars - 1) {
    echo '*';
    $i += 2;
}
// Add half star if needed:
if ( $stars & 1 ) echo '+';
于 2012-04-20T18:48:00.380 に答える