2017-09-06 149 views
2

我需要一些项目帮助。我仍然在学习JavaScript和jquery,所以忍受着我。我正在处理的网站需要在单击按钮时更新数据库条目,同时也从数据库查询按钮内容。Ajax - 点击按钮更新数据库

一是数据库查询得到的按钮:

<?php 
    $freq_sql = "SELECT freq FROM disc_freq WHERE in_use='0'"; 
    $result_freq = $connection->query($freq_sql); 
    echo "<h5>Available frequencies</h5>"; 
    while($row = mysqli_fetch_array($result_freq)){ 
     $set_freq=$row[0]; 
?> 
<a id='button' class='w3-bar-item w3-button'><?php echo $set_freq ?></a> 

然后AJAX脚本,我试过,但有什么不对的地方

$(document).ready(function(){ 
    $("#button").click(function(){ 
     $.ajax({ 
      url: "set_freq.php", 
      type: "POST", 
      data: {"set_freq":<?php echo $set_freq ?>}, 
      success: function(data){ 
       data = JSON.toString(data); 

      } 
     }); 
    }); 
}); 

最后php文件

<?php 
session_start(); 
include("konf.php"); 
if(isSet($_POST['set_freq'])){ 
    $update_sql="UPDATE disc_freq SET in_use = '1', working_usr='".$_SESSION['username']."' WHERE freq='".$_POST['ins_freq']."'"; 
    $update_run=mysqli_query($connection,$update_sql); 
} 
?> 

对于某些第一个按钮,当点击时启动相同数量的ajax调用多少个按钮显示。其他人不会做任何事情。

php代码确实工作,但唯一的问题是ajax调用,我还没有找到解决方案,所以任何帮助表示赞赏。

+0

在控制台上的任何错误写? –

+0

你在ajax调用中面临什么问题? –

+0

控制台中没有错误 – Michael

回答

1

在你的代码中有AJAX脚本错误的JS 变化 你可以从

data: {"set_freq":<?php echo $set_freq ?>}, 

更改代码

data: {"set_freq":'<?php echo $set_freq ?>'}, 
1

首先,你应该避免你的网页,请更新代码刷新,因为你点击a标签。

你应该发送你的数据@ pritamkumar的答案或发送像我的答案。

$(document).ready(function(){ 
    $("#button").click(function(event){ 
     var data=$(this).text(); 
     event.preventDefault() 
     $.ajax({ 
      url: "set_freq.php", 
      type: "POST", 
      data: {"set_freq":data}, 
      success: function(data){ 
       data = JSON.toString(data); 

      } 
     }); 
    }); 
}); 

根据您的评论,有很多链接比你应该改变你的选择。就像下面

<a class='button' class='w3-bar-item w3-button'><?php echo $set_freq ?></a> 

,改变JS代码

$(".button").click(function(event) 
0

总有过相同的值,阿贾克斯

data: {"set_freq":<?php echo $set_freq ?>}, 

在HTML变化

<a id='button' class='button w3-bar-item w3-button' data-freq='<?php echo 
    $set_freq ?>'><?php echo $set_freq ?></a> 

在JS

$(document).ready(function(){ 
$(".button").click(function(){ 
    $.ajax({ 
     url: "set_freq.php", 
     type: "POST", 
     data: {"set_freq":this.data('freq')}, 
     success: function(data){ 
      data = JSON.toString(data); 
     } 
    }); 
}); 
}); 

我没有测试它 - 从“记忆”