脚本不起作用 [英] Script doesn't working
本文介绍了脚本不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好。首先,请允许我说刚开始编程并抱歉我的英语不好。无论如何。
此代码用于喜欢系统。我不知道为什么这段代码不起作用。
代码:
Hi. At the outset, let me say that just starting to program and sorry for my bad English. Anyway.
This code is used to like system. I don't know why this code doesn't working.
Code:
<?php
$mysqli = new mysqli('localhost', 'root','');
$mysqli->select_db('like');
if(isset($_POST['liked']))
{
$postid = $_POST['postid'];
$result = mysqli_query("SELECT * FROM posts WHERE postid=$postid");
$row = mysqli_fetch_array($result);
$n = $row['likes'];
mysqli_query("UPDATE posts SET likes=$n+1 WHERE id=$postid ");
mysqli_query("INSERT INTO likes(userid, postid) VALUES(1,$postid)");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>LIKE and UNLIKE</title>
<style type="text/css">
.content
{
width:50%;
margin:100px auto;
border:1px solid #cbcbcb;
}
.post
{
width:80%;
margin:10px auto;
border:1px solid #cbcbcb;
padding:10px;
}
</style>
</head>
<body>
<div class="content">
<?php
$query = $mysqli->query("SELECT * FROM posts");
while($row = mysqli_fetch_array($query)) { ?>
<div class="post">
<?php echo $row['text']; ?> <br>
<?php
$result = mysqli_query($mysqli,"SELECT * FROM likes WHERE userid='1' AND postid=".$row['id']."");
if(mysqli_num_rows($result) == 1) { ?>
<span><a href="" class="unlike" id="<?php echo $row['id']; ?>">unlike</a></span>
<?php } else{ ?>
<span><a href="" class="like" id="<?php echo $row['id']; ?>">like</a></span>
<?php } ?>
</div>
<?php } ?>
</div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.like').click(function(){
var postid = $(this).attr('id');
$.ajax({
url:'index.php',
type: 'post',
async: false,
data:{
'liked': 1,
'postid': postid
}
success:function(){
}
});
});
});
</script>
</body>
</html>
表sql:
likes.sql
Table sql:
likes.sql
CREATE TABLE `likes` (
`id` int(11) NOT NULL,
`userid` int(11) NOT NULL,
`postid` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
帖子.sql
posts.sql
CREATE TABLE `posts` (
`id` int(11) NOT NULL,
`text` text NOT NULL,
`likes` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
users.sql
users.sql
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`name` varchar(55) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我尝试了什么:
我尝试更改代码:
What I have tried:
I tried change code:
<?php
if(!isset($_POST['liked']))
{
$postid = $_POST['postid'];
$result = mysqli_query($mysqli,"SELECT * FROM likes WHERE postid='$postid'");
$row = mysqli_fetch_array($result) or die("ERROR: ".mysqli_error($mysqli));
$n = $row['likes'];
$result = mysqli_query($mysqli,"UPDATE posts SET likes=$n+1 WHERE id=$postid ");
$result = mysqli_query($mysqli,"INSERT INTO likes (userid, postid) VALUES(1,$postid)");
exit();
}
?>
推荐答案
mysqli = new mysqli(' localhost' ,' root',' ');
mysqli = new mysqli('localhost', 'root','');
mysqli-> select_db(' 喜欢');
if(isset(
mysqli->select_db('like'); if(isset(
_POST [' 喜欢']))
{
_POST['liked'])) {
这篇关于脚本不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文