2014-10-31 129 views
0

我一直在閱讀和嘗試不同的事情,但我似乎無法得到Jquery的竅門。使用jQuery循環+更新數據庫

下面是上下文:用PHP,我從我的數據庫中獲得10個隨機項目。我點擊開始按鈕,其中一個項目顯示。用戶可以評價項目(喜歡或不喜歡),結果在數據庫中更新,下一個顯示。評分10個項目後,應用程序將重置,您可以通過再次點擊開始按鈕重新開始。

現在我還需要使用jQuery或javaScript來處理這個問題,所以用戶不必一直刷新。我不知道如何開始。我知道你們都說'閱讀文檔',但老實說,我有,我只需要一些指針,所以我可以弄明白。

擊中啓動按鈕

<input type="submit" name="action" value="start" /> 

在PHP文件變量填補了這一

<article> 
<header> 
<h1><?php echo $_SESSION['videos'][$_GET['id']]['title'].' - '. $first.'.'?></h1> 
<h2>Originally by <?php echo $_SESSION['videos'][$_GET['id']]['artist'] ?></h2> 
</header> 
... 
<video width="205" height="319" controls> 
<source src="assets/videos/<?php echo $_SESSION['videos'][$_GET['id']]['video'] ?>"type="video/mp4"> 
</video> 

率使用這些按鈕+在十

<input type="submit" name="action" value="like" /> 
<input type="submit" name="action" value="dislike" /> 

這個數組重定向到一個隨機項目一切工作正常,但我怎麼得到它與jQ/Js的工作?我在想什麼:將點擊事件鏈接到開始按鈕,防止默認。但那又如何?我需要從數據庫中加載十個隨機項目,將第一個項目追加到正文,然後向類似/不喜歡的按鈕添加一個單擊事件,防止默認並更新數據庫而不刷新。

任何人都有一些指針?掙扎在這裏...

感謝

+0

嘗試查找一些[Ajax](http://api.jquery.com/jquery.ajax/)示例。你應該能夠相對容易地做你想做的事。 – ZiNNED 2014-10-31 21:39:15

+0

感謝您的迅速回復。我確實研究過Ajax,但我對它很陌生(因爲我是jq)。有什麼特定的例子可以引用我嗎?再次感謝你。 – 2014-10-31 22:08:41

回答

0

這裏是這種事情的基本流程,但您的實現可能會有所不同,但是你想

$('input[value="like"]').click(function(){ 
    var video_id = //however you want to supply video_id here 
    $.post('likehandler.php',{id:video_id}, function(result){ 
     //result is just whatever likehandler.php echos to the screen (usually json_encoded data) 
     //your php page would mark the video with the $_POST[id], and then grab a new random video 
     //result.next_video is a json_encoded object from your php page 
     if(result.next_video){ 
      //if your ajax response contains a new video, remove the old, and replace it with the new 
      $('video').remove(); 
      $('body').append("<video width... src='assets/videos/"+result.next_video.video+"' type...">); 
     } 
    }, 'json'); 
}); 

//possible example of likehandler.php 
    <?php 
     $video_id = $_POST['id']; 
     //update video with one more vote in database 

     $next_video = //get a random video from database 
     echo json_encode(array("status"=>"success","next_video"=>$next_video)); 
    ?> 

這絕對不是複製和粘貼的答案,但它的基本流程,並可以指出你如何工作。