PHP で簡単な投票スクリプトを作成しようとしていますが、助けが必要です。私が抱えている問題は、if else ステートメントに対応する 2 つのボタン (like と dislike) を持つフォームを作成したことです。
いいねボタンがクリックされた場合は更新を行い、そうでない場合は嫌いなボタンがクリックされた場合は更新を行います。
ここに私がこれまでに持っているコードがありますが、それ以上のものがありますが、私の問題には必要ありません:
while($row = $q2->fetch())
{
$up_vote= $row['up_votes']; /*Current Up Votes*/
$down_vote= $row['down_votes']; /* Current Down Votes*/
echo '<form method="post" action="">';
echo '<input type="button" id="up_vote" name="up_vote" value="Like" /> OR';
echo '<input type="button" id="down_vote" name="down_vote" value="Dislike" />';
echo '</form>';
echo round($row['rating'], 0);
echo '% of voters Liked this';
}
$up_votes = $up_vote +1;/*$up_vote referes to original # of up_votes, $up_votes adds 1 to the number of votes*/
$down_votes = $down_vote +1;/*$down_vote referes to original # of down_votes, $up_votes adds 1 to the number of votes*/
if ($something);/*upvote clicked*/
{
$vote_update = "UPDATE images
SET up_votes:up_votes
WHERE vote_item_id: vote_item_id";
$q3 = $conn-> prepare($vote_update);
$q3->execute(array(':up_votes'=>$up_votes, /*$up_vote referes to original # of up_votes, $up_votes adds 1 to the number of votes*/
':vote_item_id'=>$current_vote_item_id));
/* ALSO create INSERT INTO votes_done to track the user vote*/
$conn = null;
}
else ($something2);/*down vote clicked*/
{
$vote_update = "UPDATE images
SET down_votes:down_votes
WHERE vote_item_id: vote_item_id";
$q3 = $conn-> prepare($vote_update);
$q3->execute(array(':down_votes'=>$down_votes, /*$down_vote referes to original # of down_votes, $up_votes adds 1 to the number of votes*/
':vote_item_id'=>$current_vote_item_id));
/* ALSO create INSERT INTO votes_done to track the user vote*/
}
if ステートメントと else ステートメントはどのように見えるべきですか? これについてどうすればよいかわかりません。2 つの送信を行うことはできません。ボタンごとに 1 つずつ、2 つの異なるフォームを用意する必要がありますか? いずれにせよ、いいねがクリックされた場合はifに移動してコードを実行し、嫌いがクリックされた場合はelseに移動してコードを実行する方法を教えてください。
ありがとう