2014-04-01 1 views
0

그래서이 기능은 서버에 이미지를 업로드 할 때 약간의 정보가 포함되어 있습니다. 이미지를 폴더에 저장하는 동안 텍스트 정보가 데이터베이스에 저장됩니다. 그런 다음 데이터베이스에 저장된 정보와 함께 이미지를 표시합니다. 하지만 등급 시스템을 추가하여 일부 기능을 강화하려고합니다.속도 이미지 시스템

내가 만든 등급 시스템은 txt 파일 안에 stastistics를 저장합니다. 내가 도움이 필요한 것은 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> 

임 아직도 확실히 초보자 그래서 난 감사하겠습니다 :

이 내가 정보와 별 기능과 함께 이미지를 에코 방법이다. 그것이 투표에 관해서 제한없이 같이 단순한 것을 선호하십시오.

별표 바로 아래의 모든 투표의 평균을 반복하여 각 rate-onclick을 업로드하십시오.

참고 사항 : 등급 시스템은 텍스트 파일을 사용할 때 잘 작동합니다. ajax.php는 함수 뒤에있는 계산 마스터입니다. 그리고 post.php는 등급 통계를 tex-file에 보낸다.

+1

, 당신은 단지를 증가해야 이미지 n 데이터베이스에서의 비율. 증분 값이 1 인 경우 rate 값을 전달할 필요가 없습니다. 당신의 SQL 요청'image_rate = image_rate + 1'에서 정리해보십시오. 나는 그 요점을 놓치지 않기를 바란다. – Debflav

+1

예. 텍스트 파일에 평점 데이터를 저장할 필요가 없습니다. 데이터베이스에 저장하십시오. –

+0

나는 데이터베이스를 이미 만들었습니다. 모양 : ImageRate ID 평가 이미지 ID 하지만 연결하고 저장하는 데 도움이 필요합니다. – Winterwind

답변

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

아약스

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

이미지는 store "store"라는 데이터베이스에 있습니다. 각 이미지의 ID는 PK입니다. 그래서 모든 image_id와 $ imageID의 이름을 ID와 바꿨습니다. "image_rating"이란 무엇입니까? 답변 해 주셔서 감사합니다. – Winterwind

+0

이미지의 현재 요율 값에 해당합니다. – Debflav

+0

코드를 구현하려 할 때 오류가 발생했습니다. 해당 행에 오류가 표시됩니다. 그러나 나는 무엇이 잘못되었는지를 정말로 말할 수 없다. – Winterwind

관련 문제