sql >> Database >  >> RDS >> Mysql

JQuery star rating tutorial met php en mysql

Dit is een heel eenvoudige en snelle tutorial over hoe je heel gemakkelijk sterbeoordelingen kunt maken met jQuery En bezoekers kunnen stemmen in de database om de productpopulariteit weer te geven. Dit is een voorbeeldscript. sterbeoordelingsfunctie met behulp van PHP en Mysql.

Ik heb een voorbeelddatabase gemaakt waarin de stemmen van bezoekers worden opgeslagen en met behulp van die stemmen zal ik de gemiddelde beoordeling van het product weergeven, een script gemaakt in Core PHP en Mysql, zodat u deze eenvoudig kunt integreren in uw webgebaseerde project.




Voorbeeld van de structuur van de beoordelingstabel.

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

In deze tutorial heb ik een jQuery-sterbeoordelingsplug-in gebruikt om sterbeoordeling weer te geven als UI-onderdeel. Je kunt meer UI-beoordelingsfuncties verkennen met deze officiële beoordelingsplug-in. Het ondersteunt ook de bootstrap-responsieve functie.
http://www.jqueryrain.com/?d8VUtmAN

Maak een voorbeeld-UI-bestand met enkele demoproducten en de beoordeling ervan.

 <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>

Voeg daarna de vereiste beoordelingsbibliotheken toe (css &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>

Pas jQuery-code toe wanneer een gebruiker ooit een beoordeling aan het product geeft, dan zal één ajax-verzoek naar de server gaan met product-ID en een stem krijgen en u moet deze waarden in uw database opslaan.

<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>

Maak serverbestand rating.php , Waar u de functie voor het opslaan en ophalen van beoordelingen schrijft.

<?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;
	} 
}
 
?>



Bekijk live demo en download broncode.

DEMO

DOWNLOAD

Ik hoop dat deze tutorial nuttig zal zijn om een ​​beoordelingssysteem voor je webgebaseerde projecten te maken.

Als je dit bericht leuk vindt, vergeet dan niet je te abonneren op mijn openbare notitieboek voor meer nuttige dingen


  1. Een veld verplaatsen in het queryraster in Microsoft Access

  2. mysql selecteer som groeperen op datum

  3. Een SQL Server Agent-taak verwijderen in Azure Data Studio

  4. Hoe MySQL 8 op Windows te installeren