你一定需要同时使用javascript和PHP来实现这一点。
我想接近它是这样的:
a)使用jQuery JavaScript库,使JavaScript的更容易。
b)写一些JavaScript,它响应用户选择评分。您可能需要绑定到评分按钮的onClick事件。
c)当点击评级按钮时,javascript函数应该使用jQuery.ajax通过HTTP POST将选择的评级发送到服务器。发送到服务器的数据可能需要包含用于标识电影的ID,用于表示用户的ID(以便您可以阻止人们为同一电影投票多次)以及他们选择的评分。
d)在服务器端,您可以编写一个PHP脚本来处理投票提交。它会检查电影和用户ID(存储在PHP的$ _POST变量中),然后将评级保存到某个数据库。然后,它也可以向客户端发送一个响应,其中包含下一个电影ID和下一张海报。我建议你使用json_encode来存储这些信息,这很容易让javascript解释。 e)最后,回到客户端,你的javascript代码可以对PHP发回的数据作出反应,通过发布一条消息,比如“谢谢你的投票”,然后改变屏幕上的电影细节以取代他们与新的。
您的客户端代码看起来有点像这样:
<img id="movie-poster" src="movie poster src" />
<ul>
<li class="rating-button">1</li>
<li class="rating-button">2</li>
<li class="rating-button">3</li>
<li class="rating-button">4</li>
<li class="rating-button">5</li>
</ul>
<script>
var currentUserId;
var currentMovieId;
$('.rating-button').on('click',function() {
$.ajax({
url: "URL of PHP script here",
type: 'post',
data: {'movieId':currentMovieId, 'userId':currentUserId, 'rating':$(this).text()},
dataType: 'json',
success: function(response) {
// this runs after your PHP script has responded
// update your page with the new movie here
alert('thanks for voting');
currentMovieId = response.newMovieId;
$('#movie-poster').attr('src',response.newMoviePosterSrc);
}
});
}
</script>
你的PHP脚本看起来会有点像这样(你必须弄清楚所有数据库和用户验证自己的位)
<?php
$user_id = $_POST['userId'];
$movie_id = $_POST['movieId'];
$rating = $_POST['rating'];
// check that the user is allowed to vote - possibly examine cookie for this
// check that rating is between 0 and 5
// check that the movie exists
// store results of vote in database
// load up another random movie from the database and send it back (in JSON format)
// assume details of new movie are in $new_movie =
header('Content-type: application/json');
echo json_encode(array('newMovieId'=> new movie id here, 'newMoviePosterSrc' => URL of new poster here));
exit;
您还应该为该代码添加一些错误处理。 EG,如果出现连接问题要显示的消息,或者电影ID无法识别等等。
本页面对如何从数据库中选择一个随机行的详细信息 - IE在随机选择下一海报显示: How to randomly select rows in SQL?
希望这应该足以让你开始。
可能的重复[如何在用户点击链接时运行PHP代码?](http://stackoverflow.com/questions/1280767/how-do-i-run-php-code-when-a -user-clicks-on-a-link) – 2014-02-06 01:09:51
您将确定使用php和javascript的组合。使用AJAX(JavaScript方面),你可以发送/接收数据到/从PHP –
可能重复http://stackoverflow.com/questions/19323010/execute-php-function-with-onclick – 2014-02-06 01:11:39