评价图像系统

Rate image system

本文关键字:系统 图像 评价      更新时间:2023-09-26

所以我创建了这个函数,您可以在其中将图像与一些信息一起上传到服务器。文本信息保存到数据库,图像保存到文件夹。然后,我将图像与存储在数据库中的信息一起回显出来。但我想通过添加评级系统来增强它。

我创建的评级系统将统计存储在 txt 文件中。我需要帮助的是将保存与 txt 文件中的统计信息交换,并将其存储在数据库中。

这就是我回显图像的方式,以及信息和星号功能:

<?php
//Sortering
$order = "";
if(isset($_GET['order'])){
    if($_GET['order'] == "date"){
        $order = " ORDER BY date DESC";
    }
}
if(isset($_GET['order'])){
    if($_GET['order'] == "uppladdare"){
        $order = " ORDER BY uppladdare";
    }
}
//Database connection
$dbcon = mysqli_connect("");
$selectall = "SELECT * FROM mountains $order";
$result = mysqli_query($dbcon, $selectall);
while($row = mysqli_fetch_array($result)){
$information =  ' Titel: ' . $row['titel'] . ' Uppladdare: ' . $row['uppladdare'] . ' Filnamn: ' . $row['filname'] . ' History: ' .$row['History'] . ' Datum: ' . $row['date']; 
//Print out correct information to the uploaded image
echo "<br>";
echo "Title: " . $row['titel'] . "<br>";
echo "Uploader: " . $row['uppladdare'] . "<br>";
echo "Imagename: " . $row['filname'] . "<br>";
echo "History: " . $row['History'] . "<br>";
echo "Date: " . $row['date'] . "<br>";
echo "Image:";
echo "<br>";
echo "<form name='rating' id='rating'>    
    <div id='rating-area' class='shadow'>   
    <img src='stjärna.png' id='thumb1' data-value='1' />
    <img src='stjärna.png' id='thumb2' data-value='2' />
    <img src='stjärna.png' id='thumb3' data-value='3' />
    <img src='stjärna.png' id='thumb4' data-value='4' />
    <img src='stjärna.png' id='thumb5' data-value='5' />
    </div>

</form>";
?>
<script>
    jQuery('div#rating-area img').click(function(e){
        var val = jQuery(this).data('value') ;
        console.log(val) ;
        jQuery.post('post.php',{ rating : val },function(data,status){
            console.log('data:'+data+'/status'+status) ;
        }) ;
    }) ;
</script>
<script>
   $(document).ready(function(){
     setInterval(function(){
     $('#resultat').load('ajax.php');
       },500);
   });
 </script>
 <?php
$original = $row['filname'];
echo "<a class='fancybox' rel='massoravbilder' href='bilder/$original'> <img src='bilder/thumb_" . $row['filname'] . "' alt='$information' /></a>" . "<br>";
}
?>
<script>
    jQuery('div#rating-area img').click(function(e){
        var val = jQuery(this).data('value') ;
        console.log(val) ;
        jQuery.post('post.php',{ rating : val },function(data,status){
            console.log('data:'+data+'/status'+status) ;
        }) ;
    }) ;
</script>

仍然是一个初学者,所以如果有人能向我展示一种解决此问题的简单方法,我将不胜感激。希望它简单,比如在投票方面没有限制。

只需上传每个点击率,并在星星下方回显所有选票的平均值。

注意:仅使用textfile时,评级系统工作正常。 ajax.php是函数背后的计算大师。post.php将评级统计信息发送到tex文件。

你应该做这样的事情。我不知道字段是否存在,但这是遵循的方式。我希望它能给你一个想法。

在您的表单中

//...
while($row = mysqli_fetch_array($result)){
    $information =  ' Titel: ' . $row['titel'] . ' Uppladdare: ' . $row['uppladdare'] . ' Filnamn: ' . $row['filname'] . ' History: ' .$row['History'] . ' Datum: ' . $row['date']; 
    //Print out correct information to the uploaded image
    echo "<br>";
    echo "Title: " . $row['titel'] . "<br>";
    echo "Uploader: " . $row['uppladdare'] . "<br>";
    echo "Imagename: " . $row['filname'] . "<br>";
    echo "History: " . $row['History'] . "<br>";
    echo "Date: " . $row['date'] . "<br>";
    echo "Image:";
    echo "<br>";
    // Add the input with image id value (I suppose it exist) 
    echo "<form name='rating' id='rating'>    
    <div id='rating-area' class='shadow'>

      <input type='hidden' name= 'image_id' value = $row[image_id]>

      <img src='stjärna.png' id='thumb1' data-value='1' />
      <img src='stjärna.png' id='thumb2' data-value='2' />
      <img src='stjärna.png' id='thumb3' data-value='3' />
      <img src='stjärna.png' id='thumb4' data-value='4' />
      <img src='stjärna.png' id='thumb5' data-value='5' />
    </div>
    </form>";

阿贾克斯

<script>
    jQuery('div#rating-area img').click(function(e){
        // serialize the form and retrieve all value in PHP with $_POST['theNameOfInput']
        jQuery.post('post.php',{ form : $(this).serialize() },function(data,status){
            console.log('data:'+data+'/status'+status) ;
        }) ;
    }) ;
</script>

后.php

<?php
    $imageId = (int) $_POST['image_id'];
    // ... Your database treatments
    $sql = "UPDATE image SET image_rating = image_rating + 1 WHERE image_id = $imageId";
    //... Your code