你一定需要同時使用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