我需要一些项目的帮助。我还在学习javascript和jquery,所以请耐心等待。我正在处理的网站需要在单击按钮时更新数据库条目,还会从数据库中查询按钮内容。
获取按钮的第一个数据库查询:
<?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 :(得分:1)
请更新您的代码中的代码,js中的ajax脚本中存在错误 更改 你可以改变
的代码 data: {"set_freq":<?php echo $set_freq ?>},
到
data: {"set_freq":'<?php echo $set_freq ?>'},
答案 1 :(得分: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)
答案 2 :(得分:0)
总是将相同的值传递给ajax
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);
}
});
});
});
我没有测试它 - 从&#34;记忆&#34;
写