Partage
  • Partager sur Facebook
  • Partager sur Twitter

étoile de notation

Sujet résolu
    17 juillet 2019 à 11:07:41

    Bonjour ,

    j'ai un petit problème , je suis entrain de développer un systeme de notation pour un client. Donc comme tout le monde, je regardais sur internet comment faire . Et puis j'en ai trouvé 1 sur internet qui est tres bien en php/mysql/ajax , mais voila le problème , j'aimerais bien l'adapter a l'id de la page en question mais je ne sais pas comment procéder a la modification du code . Si quelqu'un peut m'aider ?

    voile le code que j'ai repris sur internet:

    ici la requete mysql:

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


    ici la partie input pour envoyer dans la base de donnée:

    <input value="<?= getRatingByPageId(connect(), 1); ?>" type="number" class="rating" min=0 max=5 step=0.1 data-size="md" data-stars="5" pageId=1>

    ici la partie css et js en inclusion:

    <?php include_once("../admin/src/model/rating.php") ?>
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet">
    <link href="public/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="public/js/star-rating.min.js" type="text/javascript"></script>



    ici c'est la partie de l'ajax:

            </script>
                 <script type="text/javascript">
                    $(function(){
                        $('.rating').on('rating.change', function(event, value, caption) {
                            pageId = $(this).attr('pageId');
                            $.ajax({
                            url: "index.php?action=pageModificationView&id=",
                            dataType: "json",
                            data: {vote:value, pageId:pageId, type:'save'},
                            success: function( data ) {
                                alert("Merci d'avoir voté");
                            },
                        error: function(e) {
                            // Handle error here
                            console.log(e);
                        },
                        timeout: 30000  
                        });
                        });
                    });
            </script>



    -
    Edité par Long Dehez 17 juillet 2019 à 11:25:25

    • Partager sur Facebook
    • Partager sur Twitter
      17 juillet 2019 à 11:19:32

      Bonjour.

      Il ne faut pas utiliser d'image pour le code, pour rappel :

      • Partager sur Facebook
      • Partager sur Twitter

      Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

      étoile de notation

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown