0
我试图为从数据库打印出来的一些文章创建一个“Like”按钮。但我卡住了。用jQuery和OOP创建Like按钮PHP
我到了我从jQuery发布我的投票的地步,我得到一个空的VAR_DUMP。
而在我的OOP类中,我不确定如何在将数据保存到数据库时打印出投票。
这里是我的代码
HTML
<?php
// IF theres is a id in adress field
//if(isset($_GET['id'])) {
$page = new CMS();
$gp = $page->getPage();
foreach ($gp as $sp) {
//var_dump($sp);
echo "<div class='pub'>";
echo "<h4 class='pub-headline'>" . $sp['title'] . "</h4>";
echo "<article class='pub_art'>" . $sp['content'] . "</article>";
echo "<p class='pub_created'>" . $sp['created'] . "</p>";
echo "<p class='pub_created_by'>". $sp['writer'] ."</p>";
echo "<button class='show'>Show</button>";
echo "<button class='noshow'>Hide</button>";
echo "<button class='btn-like'>Like</button>"; // Here is my button
echo "</div>";
}
?>
jQuery的
/* --------------------Selecting article----------------------*/
// Calling for the method - likes
$(".btn-like").on("click", like);
function like(e) {
e.preventDefault();
// Declaring variables
var id=$(id).val();
var likes=$(".btn-like").val();
console.log('Click Click..');
$.post('classCalling4.php', {
id: id,
likes: likes },
function(data){
console.log(data);
});
}
PHP
var_dump($_POST); // ***** This VAR_DUMP is getting back to me empty
if(isset($_POST['id'])) {
//echo "rätt...";
$id = $_POST['id'];
$likes = $_POST['likes'];
$id = intval($id);
$likes = intval($likes);
$ul = new updateLikes();
if($ul->updateLikes($_POST['id'], $_POST['likes'])) {
echo "Created";
}
else {
} echo "noooo";
}
?>
最后我OOP类,即没有完成,因为我卡住了。
public function updateLikes($id, $likes) {
$stmt = $this->db->prepare('UPDATE pages SET likes = likes+1, WHERE id = $id');
$stmt->bind_param("ii", $likes, $id);
if($stmt->execute()) {
echo "win";
} else {
echo "lost";
}
}