2016-07-23 10 views
-1

に値を挿入しようとしているこんにちは、私はNashio/star-rating-svg星評価システムは、DB

を使用しています私は、星の表示に関する設定すべてを持っているともホバーは本当にうまく動作しますが、問題は、私はそれが価値を取るために得ることができないですそれを私のdbに挿入すると、ドキュメントではコールバック関数について何か言いますが、それは私のためには機能しません。星を初期化し、実行し、それらを取得します

<div class="my-rating"></div> 

コード:

はHTMLに星を挿入します。ここに私はこれまで持っているものであるPHPコードは

<script> 

     $(".my-rating").starRating({ 
      starSize: 45, 
      <?php 
       if(Login::isLogged(Login::$login_front)) { 
        echo "readOnly: false,"; 
       } else { 
        echo "readOnly: true,"; 
       }   
      ?> 
      disableAfterRate: false, 
      callback: function(currentRating) { 
       $rating = currentRating; 
       <?php 
         $addRating = $objRating->addRating($client_id, $rating); 
       ?> 
      } 
     }); 

    </script> 

問題はされませんdbに格付けを追加しようとしていますが、関数が呼び出されていないか、実行されたり挿入されたりしていないことや、コールバックの部分を挿入したときに星が表示されないこと、この作業を得ることは大きな助けになるでしょう、私はあなたのレプリカを楽しみにしていますes。

+0

毎回** PHP **コードを実行したいです** ** JavaScriptの 'callback'が呼び出されます。 Ajaxリクエストを作成してください!サーバー/クライアント側のプログラミングについて学ぶ必要があります。 –

答えて

1

回答をすべて更新しました。これは、テストされていますし、それが働いている:

星が表示され、ユーザーが評価する]をクリックし

メインファイル:データベースに格付けを挿入

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Rating</title> 

     <!-- Add the plugin's CSS (make sure of path) --> 
     <link rel="stylesheet" type="text/css" href="src/css/star-rating-svg.css"> 
    </head> 
    <body> 

    <!-- Display the stars on page --> 
    <div class="my-rating"></div> 

    <!-- Add jquery.min.js --> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

    <!-- Add plugin's required JS (make sure of paths) --> 
    <script src="src/jquery.star-rating-svg.js"></script> 

    <!-- Initiate the plugin --> 
    <script> 
     $(".my-rating").starRating({ 
      starSize: 25, 
      callback: function(currentRating, $el){ 

       $.post('submit_rating.php', {rating: currentRating}); 

      } 
     }); 
    </script> 
    </body> 
</html> 

PHPファイル(submit_rating.php)は、同じディレクトリにあるか、パスを調整する必要があります上のあなたの$_POSTリクエストでは、そのファイルを任意の内部ディレクトリに保存する予定です。そのファイルをsubmit_rating.phpとして保存し、そのファイルには、評価値として$_POST['rating']が表示されます。次に、あなたのデータベースには、このような何かその値を挿入することができます。

$rating = $_POST['rating']; // don't forget to sanitize

をし、データベースに$ratingを挿入します。私はこれが役立つことを願っています

+0

あなたが見ているとちょっとした間違いをしました。私はそれが<入力..ではない上部の部分を編集しましたが、それは

です。間違えてごめんなさい – Blu3

+0

また、私はあなたが提案したものを正確にやってみましたが、私のためにこれをクリアして、私は本当にここで一言で、友人を助けてくれてありがとう。 – Blu3

+0

@ Blu3私は自分の答えを更新しました。確認してください。それはテストされており、動作しています。メインファイルをダブルチェックして、あなたが正しく洞窟のものであることを確認してください。 – Rehmat