내 데이터베이스에 좋아요/싫어요 값을 저장하는 데 문제가 있습니다. 각 행에 자신의 좋아하는/싫어하는 행을 저장해야하며, 누군가가 게시물을 좋아하면 그 행을 좋아합니다. 그 게시물 그 밖의 것이 아니라, 제가 가지고있는 문제는 데이터베이스의 첫 번째 항목을 좋아한다는 것입니다. 누군가지도 할 수 있습니까? 이 heres는 데이터베이스 특정 행과 관련없는 업데이트
$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 data (voted, ip) VALUES (:voted, :ip)");
$query2->bindParam(':voted', $voted1, PDO::PARAM_STR);
$query2->bindParam(':ip', $ip, PDO::PARAM_STR);
$query2->bindParam(':pid', $pid, PDO::PARAM_STR);
$query2->execute();
$update1 = $db->prepare("UPDATE data SET likes = :likes");
$update1->bindParam(':likes', $likes1, PDO::PARAM_STR);
$update1->bindParam(':quote', $actual_quote, PDO::PARAM_STR);
$update1->execute();
header("Location: inspirational.php?");
}
if(isset($_POST['dislike'])){
$dislikes1 = $dislikes+1;
$voted1 = $voted+1;
$query2 = $db->prepare("INSERT INTO data (voted, ip) VALUES (:voted, :ip)");
$query2->bindParam(':voted', $voted1, PDO::PARAM_STR);
$query2->bindParam(':ip', $ip, PDO::PARAM_STR);
$query2->execute();
$update1 = $db->prepare("UPDATE data SET dislikes = :dislikes");
$update1->bindParam(':dislikes', $dislikes1, PDO::PARAM_STR);
$update1->bindParam(':quote', $actual_quote, PDO::PARAM_STR);
$update1->execute();
header("Location: inspirational.php?");
}
$stmt = $db->query("SELECT * FROM data");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$row3 = $stmt->fetch();
$query = $db->prepare("SELECT * FROM data WHERE formtype = 'Inspirational' ");
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
//delete this-> $info = mysql_fetch_array($query1); ?
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
?>
<div class="wrapper">
<div class="submissions">
<div class="logo-logo"><h2>Questions.</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="dislike" value="dislike" />
<input type="submit" name="like" value="like" />
</form> <?php
}
?>
ORM은 들었습니까? Eloquent처럼? 그렇게 쓰면 사용하고 유지하기가 훨씬 쉬워집니다. 그냥 ' – MightyPork