Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Samouczek oceny gwiazdek Jquery za pomocą php i mysql

Jest to bardzo prosty i szybki samouczek dotyczący tego, jak bardzo łatwo tworzyć oceny gwiazdkowe za pomocą jquery, a odwiedzający sklep głosują w bazie danych, aby wyświetlić popularność produktu. To jest przykładowy skrypt, tutaj nie korzystałem z bardzo dobrego interfejsu użytkownika, skupiam się tylko na tworzeniu dynamicznych funkcja oceny gwiazdek przy użyciu PHP i Mysql.

Stworzyłem przykładową bazę danych, w której będą przechowywane głosy odwiedzających i korzystając z tych głosów pokażę średnią ocenę produktu, Skrypt stworzony w Core PHP i Mysql, abyś mógł łatwo zintegrować się z Twoim projektem internetowym.




Przykładowa struktura tabeli ocen.

CREATE TABLE IF NOT EXISTS `rating` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL,
  `vote` float NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1

W tym samouczku użyłem wtyczki oceny gwiazdek jquery, aby wyświetlić ocenę gwiazdkową jako część interfejsu użytkownika, dzięki czemu możesz odkryć więcej funkcji oceny interfejsu użytkownika za pomocą tej oficjalnej wtyczki oceny. Obsługuje również funkcję responsywną ładowania początkowego.
http://www.jqueryrain.com/?d8VUtmAN

Utwórz przykładowy plik interfejsu użytkownika z niektórymi produktami demonstracyjnymi i jego oceną.

 <table border=1>
 <tr><td >
    <img src="img/p1.jpeg">
    <h3>Product-1</h3> 
   <input value="0" type="number" class="rating" min=0 max=5 step=0.1 data-size="md" data-stars="5" productId=1>
        </td>
   <td> 
   <img src="img/p2.jpeg"> 
     <h3>Product-2</h3> 
    <input value="0" type="number" class="rating" min=0 max=5 step=0.1 data-size="md" data-stars="5" productId=2>
    </td>
    </tr></table>

Następnie dołącz wymagane biblioteki ocen (css i js).

 <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet">
<link href="css/star-rating.min.css" media="all" rel="stylesheet" type="text/css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    <script src="js/star-rating.min.js" type="text/javascript"></script>

Zastosuj kod jquery za każdym razem, gdy użytkownik oceni produkt, wtedy jedno żądanie ajax zostanie skierowane do serwera z identyfikatorem produktu i oddanym głosem i musisz zapisać te wartości w swojej bazie danych.

<script type="text/javascript">
        $(function(){
               $('.rating').on('rating.change', function(event, value, caption) {
                productId = $(this).attr('productId');
                $.ajax({
                  url: "rating.php",
                  dataType: "json",
                  data: {vote:value, productId:productId, type:'save'},
                  success: function( data ) {
                     alert("rating saved");
                  },
              error: function(e) {
                // Handle error here
                console.log(e);
              },
              timeout: 30000  
            });
              });
        });
    </script>

Utwórz plik serwera rating.php , Gdzie napiszesz ocenę, funkcję zapisywania i pobierania.

<?php
function connect() {
$hostname = "localhost";
$username = "root";
$password = "root";
$dbname = "test";
  $con = mysqli_connect($hostname, $username, $password, $dbname);	
  return $con;
}
 
function getRatingByProductId($con, $productId) {
	$query = "SELECT SUM(vote) as vote, COUNT(vote) as count from rating WHERE product_id = $productId";
 
      $result = mysqli_query($con, $query);
      $resultSet = mysqli_fetch_assoc($result);
      if($resultSet['count']>0) {
      	$data['avg'] = $resultSet['vote']/$resultSet['count'];
      	$data['totalvote'] = $resultSet['count'];
      } else {
      	$data['avg'] = 0;
      	$data['totalvote'] = $resultSet['count'];
      }
      return $data;
 
}
if(isset($_REQUEST['type'])) {
	if($_REQUEST['type'] == 'save') {
		$vote = $_REQUEST['vote'];
		$productId = $_REQUEST['productId'];
	      $query = "INSERT INTO rating (product_id, vote) VALUES ('$productId', '$vote')";
	      // get connection
	      $con = connect();
	      $result = mysqli_query($con, $query);
	      echo 1; exit;
	} 
}
 
?>



Zobacz demo na żywo i pobierz kod źródłowy.

DEMO

POBIERZ

Mam nadzieję, że ten samouczek będzie pomocny w tworzeniu systemu ocen dla twoich projektów internetowych.

Jeśli podoba Ci się ten post, nie zapomnij zasubskrybować mojego publicznego notatnika, aby uzyskać więcej przydatnych rzeczy


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instrukcja SQL CASE

  2. 10 najciekawszych faktów i wskazówek dotyczących MySQL

  3. Jak tworzyć zapytania sprzężenia za pomocą Sequelize na Node.js

  4. Zwiększenie wartości w zapytaniu o aktualizację MySQL

  5. 2017 @ Severalnines:Celebrujemy historie naszych klientów