我有这个脚本可以更新 mysql 数据库中的计数器,但它根本不起作用,而且我看不出有什么问题,因为我是 php 和 ajax 的新手:
$(function () {
$('.press_me').click(function(){
var button_ID= $(this).parent('tr').attr($row['ID']);
$.post('counter.php', {button_ID: button_ID}, function(result){
$($row['Teme_nefacute']).html(result);
});
request.done(function( msg ) {
alert('Success');
return;
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
});
});
和counter.php:
<?php
// Connection to database
$connection=mysqli_connect("host","user","pass","db");
// Check connection
if (mysqli_connect_errno())
{
echo 'NOT_OK';
//echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Increasing the current value with 1
mysqli_query($connection,"UPDATE table SET amount= (amount + 1) WHERE ID=' " . $_POST["button_ID"] ." ' ");
$get_count= mysqli_query("SELECT * FROM `table` WHERE `ID`=' " . $_POST["button_ID"] . " ' ");
$count_data= mysqli_fetch_array($new_count_data);
echo($count_data["amount"]);
mysqli_close($connection);
?>
谁能帮我让它异步工作吗?
最佳答案
首先,PHP是一种后端技术,在服务器中工作并将结果发送到客户端(浏览器、curl、wget等)。Javascript是一种在客户端中工作的前端技术。所以从这个角度来看
您的 php 代码应介于 <?php //code ?>
之间标签,它会在后端执行,然后结果将以 JavaScript 代码打印。
因此,您的 View 应该是一个 php 文件。但它应该包含 html、js 和 php 混合。
<script>
$(function () {
$('.press_me').click(function() {
var button_ID= $(this).parent('tr').attr("<?php echo $row['ID']; ?>");
$.post('counter.php', {button_ID: button_ID}, function(result) {
$("<?php echo $row['Teme_nefacute']; ?>").html(result);
});
request.done(function(msg) {
alert('Success');
return;
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
});
});
</script>
你的 php 代码看起来没问题。当你这样尝试时,结果是什么?
更新:
如果您的表名称是 table,那么请将其放在此字符 `` 之间,如 SELECT
中所示询问。表在 SQL 中具有特殊含义。
关于php - AJAX PHP MYSQL 值更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002684/