2014-10-31 87 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)); 
    ?> 

这绝对不是复制和粘贴的答案,但它的基本流程,并可以指出你如何工作。