javascript - Ajax - Update database on button click - Stack Overflow

I need some help with a project. I'm still learning javascript and jquery so bear with me. The web

I need some help with a project. I'm still learning javascript and jquery so bear with me. The website that I'm working on needs to update a database entry when a button is clicked, the button content is also queried from the database.

First database query to get the buttons:

<?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>

Then the ajax script I tried but there is something wrong with it

$(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);

            }
        });
    });
});

Finally the php file

<?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);  
}  
?>

For some the first button when clicked on initiates same number ajax calls of how many buttons have been displayed. Others won't do anything.

The php code does work but the only problem is the ajax call and I haven't found a solution yet so any help is appreciated.

I need some help with a project. I'm still learning javascript and jquery so bear with me. The website that I'm working on needs to update a database entry when a button is clicked, the button content is also queried from the database.

First database query to get the buttons:

<?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>

Then the ajax script I tried but there is something wrong with it

$(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);

            }
        });
    });
});

Finally the php file

<?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);  
}  
?>

For some the first button when clicked on initiates same number ajax calls of how many buttons have been displayed. Others won't do anything.

The php code does work but the only problem is the ajax call and I haven't found a solution yet so any help is appreciated.

Share Improve this question edited Sep 6, 2017 at 7:11 Michael asked Sep 6, 2017 at 6:47 MichaelMichael 1091 gold badge2 silver badges14 bronze badges 12
  • Any error on console ? – 4b0 Commented Sep 6, 2017 at 6:48
  • what problems you are facing in you ajax call ? – bharat parmar Commented Sep 6, 2017 at 6:49
  • No errors in console – Michael Commented Sep 6, 2017 at 6:49
  • It doesn't update the database when the button is clicked – Michael Commented Sep 6, 2017 at 6:49
  • success: function(data){ data = JSON.toString(data); console.log(data); } and check console for returned data – Abhishek Mishra Commented Sep 6, 2017 at 6:51
 |  Show 7 more ments

3 Answers 3

Reset to default 1

please update code as in your code there is error in ajax script in js change you can change code from

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

to

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

First of all you should prevent your page to refresh because you are clicking on a tag so.

You should send your data with @pritamkumar's answer or also send like my answer.

$(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);

            }
        });
    });
});

As per your ment that there are many links than you should change your selector. Like as below

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

And also change JS code

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

there is always passed the same value to ajax

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

in html change

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

in 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);
        }
    });
});
});

i didn't test it - writing from "memory"

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744937359a4602108.html

相关推荐

  • javascript - Ajax - Update database on button click - Stack Overflow

    I need some help with a project. I'm still learning javascript and jquery so bear with me. The web

    2天前
    50

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信