麻烦发送attr int变量通过ajax,到php,到db列
Trouble sending attr int variable through ajax, to php, to db column
可能是最长的方式,虽然我认为它起源于某处的一个例子。div的data-num
,我不确定在阅读了更多内容后是否可以使用它,div class='bill_like' data-num="1"
在javascript
中用作变量 $(document).ready(function () {
$('.bill_like').click(function() {
var TriggerClick = 0;
var id = $(this).attr('data-num');
if(TriggerClick==0){
TriggerClick=1;
request = $.ajax({
type: 'POST',
url: 'php/bill_like_up.php',
data: id
});
$(this).children( '.vote_label' ).children('.vote_up_image').attr('src', "img/vote_up_green.png");
}else{
TriggerClick=0;
request = $.ajax({
type: 'POST',
url: 'php/bill_like_down.php',
data: id
});
$(this).children( '.vote_label' ).children('.vote_up_image').attr('src', "img/vote_up.png");
};
});
return false;
});
,然后将数据传递给.php。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id = $_POST['id'];
$query = mysqli_query($conn, "SELECT id, bill_like FROM ausdb WHERE id='$id'");
$sql = "UPDATE ausdb SET bill_like = bill_like + 1 WHERE id='$id'";
$res = mysqli_query($conn, $sql) or trigger_error(mysqli_error()." in ".$sql);
?>
图片改变,但没有更新数据库。对于同一文件中html中的不同元素,有许多变体。每个数据的值是否需要不同,就像唯一的id一样?我应该使用<a href="">
访问javascript吗?我不知道为什么这不起作用。
你错过了位,你使用的是$_POST['id']
所以你必须在post request中发送id
data: {id:id},
我也认为如果他们只是一个参数,那么你可以在没有任何改变和更新$_POST['id'] to $_POST
的情况下使用相同的ajax调用。对此我不确定。但从逻辑上讲,它应该是可行的。
将查询更改为"SELECT id, bill_like FROM ausdb WHERE id='".$id."'"
(如果您想为id添加括号,则删除单引号)
传递如下值
$.ajax({
type: 'POST',
url: 'php/bill_like_down.php',
data: {data-id : id }
});
服务器端检索使用$_POST['data-id']。这应该有所帮助。还要注意,如果id是整数,那么Update和select语句应该如下所示:
$query = mysqli_query($conn, "SELECT id, bill_like FROM ausdb WHERE id=$id");
$sql = "UPDATE ausdb SET bill_like = bill_like + 1 WHERE id=$id";
不需要单引号,因为它会将id视为字符串
在Java脚本中像下面这样传递数据ajax方法
data: {id:id}
接收$_POST['id']
不需要因为id
而产生混淆,所以使用
var idDataNum = $(this).attr('data-num');
....
在ajax中
data: {id:idDataNum}
在sql中不需要单引号,所以使用
UPDATE ausdb SET bill_like = bill_like + 1 WHERE id=$id
相关文章:
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 如何从ajax php中获取值(can'tget)
- Ajax/Php得到一个以上的结果
- JQuery Ajax PHP中的错误和成功处理
- 通过AJAX/PHP将数据发送到点击的url
- AJAX PHP评论框userid=0?回复=“&”;
- 如何通过ajax php将图像上传到服务器本地目录,其中html表单haven't任何传统的提交按钮
- 远程javascript ajax php攻击
- 从复选框 ajax php javascript 中检索值
- AJAX PHP 连接将行插入数据库
- 我的 Ajax php 代码无法正常工作
- Ajax-PhP communication
- 通过Ajax PHP从Javascript onClick更新数据库
- Ajax/php创建了一个数组——如何以.txt的形式下载给用户
- 检查从ajax/php返回的数据
- 使用AJAX/PHP让HTML按钮将数据插入MySQL数据库
- JQuery $.ajax + php - not run
- 联系表单Javascript/Ajax/PHP不是't工作
- ajax/php注释系统不工作
- jQuery倒计时-应用于通过AJAX/PHP加载的新元素