投稿ごとにいいねボタンを取得する必要があります。これにより、while が結果を返すたびに、それらの結果のそれぞれに固有のいいねボタンが表示されます。その人が 1 つに投票できる場合、私が現在抱えている問題ですが、それだけです。他のすべての個別の投稿は、すでに投票したためブロックされていますが、何かアドバイスはありますか? 私がこのようなシステムを作ろうとしているものへの紹介が必要な場合は、このサイトのようにする必要があります。http://fmylife.com/ 彼らの構造は私が探しているような形です
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
?>
<div class="wrapper">
<div class="submissions">
<div class="logo-logo"><h2>Quotr.</h2>
<div class="checkboxes">
<?php echo htmlentities($row["formtype"]); ?>
</div>
</div>
<div class="top-submit">
“<?php echo htmlentities($row["actual_quote"]); ?>”
</div>
<div class="poster">
- <?php
echo htmlentities($row["poster"]);
if(isset($row3["voted"]) && isset($row3["ip"]))
{
echo "You have already voted for this.";
}
else
{
?>
<form action="" method="post">
<input type="submit" name="like" value="like" />
<input type="submit" name="dislike" value="dislike" />
</form>
<?php
}
?>
<div class="like"></div>
<div class="dislike"></div>
</div>
<!-- use select to get the items to stay on the page-->
</div>
</div>
<?php
}
?>
いいねボタン/嫌いボタンのコードは次のとおりです。
$likes = (empty($_POST['like'])) ? : $_POST['like'] ;
$dislikes = (empty($_POST['dislike'])) ? : $_POST['dislike'] ;
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($_POST['like'])){
$likes1 = $likes+1;
$voted1 = $voted+1;
$query2 = $db->prepare("INSERT INTO voters (voted, ip) VALUES ( :voted, :ip)");
$query2->bindParam(':voted', $voted1, PDO::PARAM_STR);
$query2->bindParam(':ip', $ip, PDO::PARAM_STR);
$query2->execute();
header("Location: like.php?");
$update1 = $db->prepare("INSERT INTO votes (likes) VALUES ( :likes)");
$update1->bindParam(':likes', $likes1, PDO::PARAM_STR);
$update1->execute();
}
if(isset($_POST['dislike'])){
$dislikes1 = $dislikes+1;
$voted1 = $voted+1;
$query2 = $db->prepare("INSERT INTO voters (voted, ip) VALUES ( :voted, :ip)");
$query2->bindParam(':voted', $voted1, PDO::PARAM_STR);
$query2->bindParam(':ip', $ip, PDO::PARAM_STR);
$query2->execute();
header("Location: like.php?");
$update1 = $db->prepare("INSERT INTO votes (dislikes) VALUES ( :dislikes)");
$update1->bindParam(':dislikes', $dislikes1, PDO::PARAM_STR);
$update1->execute();
}
$stmt = $db->query("SELECT * FROM voters");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$row3 = $stmt->fetch();