首先让我展示一下代码
脚本
var user_id = $(this).attr("id");
var datastring = 'user_two='+ user_id;
$(".follow").click(function(){
$.ajax({
type: "POST",
url: "include.php",
data: datastring,
success: function(html){}
});
$("#follow"+user_id).hide();
$("#unfollow"+user_id).show();
return false;
});
php
<?php
$query = $handler->query("SELECT * FROM users");
while ($row = $query->fetch()) {
$user_two = $row['id'];
$user_one = 1;
?>
<p><?php echo $row['username'];?></p>
<?php
$follow_check = $handler->query("SELECT * FROM follow WHERE user_one='$user_one' AND user_two='$user_two'");
if ($follow_check->rowCount() == 0) {?>
<div id="follow<?php echo $user_one;?>">
<a href="" class="follow" id="<?php echo $user_two;?>">Follow</a>
</div>
<div id="unfollow<?php echo $user_one;?>" style='display:none'>
<a href="" class="unfollow" id="<?php echo $user_two;?>">Following</a>
</div>
<?php }else{?>
<div id="follow<?php echo $user_one;?>" style='display:none'>
<a href="" class="follow" id="<?php echo $user_two;?>">Follow</a>
</div>
<div id="unfollow<?php echo $user_one;?>" >
<a href="" class="unfollow" id="<?php echo $user_two;?>">Following</a>
</div>
<?php } ?>
<?php } ?>
插入查询
<?php
include('db.php');
$user_two = $_POST['user_two'];
$query = $handler->query("INSERT INTO follow (user_one,user_two) VALUES ('1','$user_two')");
?>
有两件事我需要插入这是user_one = Session=0或当前登录的用户,但我只是使其静态为平均时间和user_two这是用户id或一个你将点击跟随那个人。不知道如何在ajax中,比如php中获取链接的值,比如<a href="?id=">
然后获取值,比如$_GET['id']但不知道如何将值存储到脚本
我只是需要一个解释user_id = $(this).attr("id");并且在$(".follow").click
中返回false,当我将其设置为false时,我需要刷新页面以查看要遵循的链接的变化,并遵循为什么会这样?顺便说一下,当我点击下面的链接,它将成功地插入到数据库,但user_two的值总是0,因为我不知道如何存储链接id到脚本。
不是100%确定我是否理解,但让我试试:
第一:id="<?php echo $user_id; ?>"
它是好的。你可以用var user_id = $(this).attr("id");
得到它也许你应该把这行移到$(".follow")里面…块
$(".follow").click(function() {
var user_id = $(this).attr("id"); //"this" will refer the element with the "follow" class. Then user_id will be the value of the id for the clicked element.
$.ajax({
type: "POST",
url: "include.php",
data: {user_two: user_id}
}).done(function(data) {
data = JSON.parse(data);
if(data.msg) {
//everything is ok
$("#follow"+user_id).hide();
$("#unfollow"+user_id).show();
} else {
//handle the error
}
)}
});
PHP部分:
<?php
include('db.php');
$user_two = $_POST['user_two'];
$query = $handler->query("INSERT INTO follow (user_one,user_two) VALUES ('1','$user_two')");
if($query) { //check if query ran successfully
echo json_encode(array("msg" => 1)); 1 for success
} else {
echo json_encode(array("msg" => 2)); 2 for error
}
?>
关于" ajax中什么是返回false ":.follow ->目标是一个标签。点击一个a标签会使浏览器导航到href="中指定的url。返回false禁用此行为,因为您不需要页面刷新或转到另一个页面:)