评价图像系统

时间:2014-04-01 08:29:10

标签: javascript php jquery sql ajax

因此,我创建了此功能,您可以将图像与一些信息一起上传到服务器。 将图像保存到文件夹时,文本信息将保存到数据库中。 然后,我将图像与存储在数据库中的信息一起显示出来。 但我希望通过增加一个评级系统来增加它。

我创建的评级系统将stastistics存储在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>

我还是一个初学者,所以如果有人能告诉我一个简单的解决方法,我将不胜感激。更喜欢它很简单,就像投票一样没有限制。

只需上传每次点击率并回复星空下所有选票的平均值。

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

1 个答案:

答案 0 :(得分:1)

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

以您的形式

//...
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>";

<强>的Ajax

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

<强> post.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