我有以下功能,我想使用Ajax将变量“Quantity”分配给php变量但是,我不是很了解ajax,所以有人可以给我代码来完成这项工作。感谢
var Quantity;
$("select").change(function() {
var str = "";
var price = <?php echo $row[price];?>;
$("select option:selected").each(function() {
str += $(this).text() + " ";
});
$(".plan_price").text("price : " + parseInt(str) * price + " baht");
Quantity = parseInt(str);
}).change();
function selectOne() {
var select = document.getElementById('quantity');
for (var i=0; i<<?php echo $row[item_amount]?>; i++) {
select.options[select.options.length] = new Option(i+1, i);
}
}
我希望从服务器的$ row [item_amount]中减去数量变量
if ($row[item_amount] - Quantity == 0) {
$sql = "update item set active='2',item_amount=item_amount-Quantity,buy_time=NOW() where id='$id'";
} else {
$sql = "update item set item_amount=item_amount-Quantity,buy_time=NOW() where id='$id'";
}
$result = mysql_query($sql);
答案 0 :(得分:0)
添加:
在你的javascript上:
...
Quantity = parseInt(str);
$.ajax({url:"yourphp.php",type:"POST",async:false,data:{quantity:Quantity}});
PHP上的:
...
$Quantity = $_POST["quantity"];
if ($row[item_amount] - $Quantity == 0) {
我不知道你的mysql查询中的“Quantity”是否指的是发送的$ Quantity 通过javascript;如果是,请在那里添加$前缀。
答案 1 :(得分:0)
有办法。您可以使用PHP会话变量来执行此操作。您可以使用下面的代码段保存一个POST
变量,并将其保存为PHP会话变量。
<?php
header('Content-Type: application/json; charset=UTF-8');
session_start();
if ($_POST['foo'] == true) {
$_SESSION['foo'] = $_POST['foo'];
echo json_encode(true);
}
else {
echo json_encode(false);
}
?>
现在你需要你的JavaScript连接到PHP脚本,看起来你已经在使用jQuery,所以我们会这样做:
$.post('/_/ajax/init_session.php', { foo: 'bar' }, function(data) {
console.log(data);
}, json);
上面的JS片段要求PHP脚本将$_SESSION['foo']
保存为'bar'
。收到数据后,浏览器的JavaScript控制台会显示true
或false
,具体取决于值是否已保存。