私のでは、 /クエリHTML
の結果をループして、最終結果として次のようなことを行います。PHP
MySQL
HTML
loop 1
<p>- user review-</p>
<a href=#" id="upvote">Up Vote</a>
loop 2
<p>- user review-</p>
<a href=#" id="upvote">Up Vote</a>
etc.
ここで、ユーザーが「賛成票」をクリックすると、次のようなスクリプトに AJAXPOST
を送信するだけです。PHP
// jQuery / AJAX - separate file linked to `HTML`
$('#upvote').onclick(function() {
var user_id = ??????;
var review_id = ?????;
$.ajax({
url : "search_query.php",
type : "POST",
dataType: "json",
data : {
userId : user_id,
reviewId : review_id
},
success : function(data) {
// do stuff
}
});
// php
<?php
$review_id = $database->escape_value(trim($_POST['reviewId']));
$user_id= $database->escape_value(trim($_POST['userId']));
// Upvote Method
$result = Data::upVoteReview($review_id, $user_id);
// Not discussed in question
$output["result"] = $result;
print(json_encode($output));
?>
私の質問は: HTML
AJAX から 2 つの変数を取得して配置する必要がありますPOST
。上記のように、それらはreviewId
とuserId
です。user_id
(はログインしているユーザーであり、実際にはグローバルPHP
SESSION
変数として格納されていることに注意してください。)
難しいのは、HTML が動的であり、ループごとに異なる review_id を持つことです。user_id は同じになりますが、それをSESSION
var から JavaScript に取得する方法がわかりません。注: ページの各「ループ」では、必要な php 変数HTML
にアクセスできますreview_id
。配置場所がわからないため、jQuery
/で取得できAJAX
ます。