21

私は Web テクノロジに非常に慣れていません。これは基本的に、私のチームが取り組んでいる期間プロジェクトのためのものです。食品レビューサイトを運営しています。

今のところ、単純な 5 つ星評価システムを実装する方法がよくわかりません。PHP のようなサーバー側の言語または Javascript (JQuery を使用) のようなクライアント側の言語を使用することになっていますか? 周りを見回すと、JQuery の方が適しているように見えますか? それとも両方の組み合わせになりますか?

機能に関する限り、私が探しているのは次のとおりです。

  • マウスをホバーすると星が光る
  • 星がクリックされたときにページをリロードする必要はありません (実際には必要ありません)。
  • 星の横に表示されるある種の平均
  • 評価は MySQL データベースのどこかに保存する必要があります (これは良い考えですか?)

質問が曖昧でばかげているように聞こえる場合は、本当に申し訳ありません。これを実装する方法についての手がかりがあまりなく、グーグルで調べてみました。ご不明な点がございましたら、お気軽にお問い合わせください。

どうもありがとうございました。

4

6 に答える 6

20

マウスがホバリングすると星が点灯
する5つ星の評価システムを設計するためのすばらしいチュートリアルがWeb上にあります:http://rog.ie/blog/css-star-rater。純粋にCSSなので、Javascriptを使用する必要はありません。

星がクリックされたときにページをリロードする必要はありません(実際には必要ありません)
Ajaxはあなたの友達です。私がしたことは、星を表す<a class="one_star" href="javascript: submitRating(1, 5)">場所を用意し、関数がAjaxを使用して私の評価(1/5)をに送信することでした。サーバーの場合、サーバーは評価を保存し(そして、評価を与えたユーザーを割り当て)、新しい平均評価を再計算して、結果をJSON形式で送信します。<a>submitRating()

星の横にある種の平均が
簡単に表示されます。製品IDに基づいて、平均評価の合計(つまり、1/5 + 2/5 + 4/5など)を取得し、それ(合計)を評価の合計量で割って乗算するSQLスクリプトを記述します。値をサーバーに戻し、サーバーからクライアントに戻します。

評価はMySQLデータベースのどこかに保存する必要があります(これは良い考えですか?)
私はこれにMySQLを使用しており、魅力のように機能します....どのDBシステムでも問題ありません。

于 2010-02-24T08:23:26.023 に答える
3

マウスをホバーすると星が点灯
シンプルに、黄色の星のイメージと白い星のイメージを用意します。星をホバリングすると、左側のすべての星の「src」が黄色の星に変更され、右側のすべての星の src が白い星に変更されます。

星をクリックしてもページがリロードさ
れない Ajax/XHR
http://en.wikipedia.org/wiki/Ajax_(programming)
を調べる食べ物とユーザーによる評価。

星の間に表示されるある種の平均
ほとんどの Web サイトでは、0%、50%、および 100% の星しか表示されません。

評価は MySQL データベースに保存する必要があります
。任意のデータベース システムで問題ありません。しかし、はい、おそらくこれには SQL データベースを使用したいと思うでしょう。

于 2010-02-24T08:03:31.417 に答える
2

これは同様の質問に対する回答であり、素晴らしいスタートになるはずです。

jQuery と CSS を使用して数値を星評価表示に変換する

于 2010-02-24T08:15:40.790 に答える
0

ええ、あなたのアプローチは完璧に聞こえます。いくつかの部分があります:

ホバー効果のある星:

jquery: http://www.fyneworks.com/jquery/star-rating/

プロトタイプ: http://www.fyneworks.com/jquery/star-rating/

css: http://www.henryhoffman.com/css-star-rating-tutorial.html

onclick は jquery で ajax 呼び出しを呼び出すことができます: http://api.jquery.com/jQuery.post/

サーバー側では、評価テーブルで維持できます

ここに長い例があります:

http://webtint.net/tutorials/5-star-rating-system-in-php-mysql-and-jquery/

于 2010-02-24T08:04:35.820 に答える
0

JS と PHP の組み合わせが最適です (PHP がサーバー側言語として選択されている場合)。JQuery は、ある種のスター システムを簡単に実装するための優れた方法です。私は、後で削除した自分のサイトの 1 つのためにこれを開発したことがあります。5 つの画像にリンクされた onrollover イベントを持つ単純なものでした。クリックすると、それが「id 4」の場合、jQuery の .post() 関数を使用して、ユーザーの投票としてそれが PHP スクリプトに送信されます。このスクリプトは、ユーザーを記録し、MySQL データベースに投票を記録していない場合は投票を記録します。すでに投票しました。

于 2010-02-24T08:04:58.207 に答える
0

スター クリック コントロールを使用するには、JavaScript が必要です。したがって、jQuery を実行する必要があります。

はい、データベースに物を保存したいと思うでしょう。そのためにPHPとMySQLを使用できます。

これがクラスの割り当てであることを考えると、実装するのは大変です。既存の CMS を使用してチートすることを検討してください。特に Drupal には、あなたが求めているものと同様の機能があります。Drupal について多くを学ぶ必要はありません。「Using Drupal」という本を購入するだけです。第 4 章では、次の方法について説明します。

... 評価ウィジェットを提供する Fivestar モジュールを使用して、コミュニティの製品レビュー Web サイトを構築します。

Drupal は PHP ベースで、MySQL をデータベースとして使用しているため、目的と一致しているようです。Drupal を実行するには少し時間がかかるかもしれませんが、すぐに第 4 章に進むことができます。

先生がコードを書くことを主張する場合、Drupal はオープン ソースであり、カスタム モジュールを簡単に追加できます。

于 2010-02-24T08:08:56.427 に答える