在json中分别存储对每个按钮的点击


Store clicks on each button separately in json

我使用jqueryphpjson来存储和更新单击单个下载按钮的次数。它工作得很完美,但现在我需要能够存储和更新多个下载按钮的点击,并单独显示它们。

你们能帮我一下吗?到目前为止,我拥有的是:

jQuery:

$('.download').click(function(event) {
  event.preventDefault();
  ga('send', 'event', 'Button', 'Clicks', 'Downloads');
    var redirectUrl = $(this).attr('href');
    $.ajax({
        url: "downloads.php",
        success: function(response) {
            if (response = 'success') {
                // The counter file has been updated in the background, but we should update the results on screen to tell the user
                var count = $('.small').html();
                $('.small').html(parseFloat(count) + 1);
                // Then redirect so that file can download
                $("#cover").fadeIn(600);
                $("body").addClass("hidescroll");
                window.location.href = "download/imagins_._ro_free_files_format_icons.rar";
            }
        }
    });
    return true;
});
$.ajax({
    url: "get-downloads.php",
    success: function(data) {
        var data = JSON.stringify(data, null, 4);
        var data = $.parseJSON(data);
        $('.small').html(data.count);
    }
});

下载s.php

<?php
    $file = "downloads.json";
    $json = json_decode(file_get_contents($file), true);
    $json['count'] = $json['count'] + 1;
    file_put_contents($file, json_encode($json));
    echo 'success';
?>

get-downloads.php

<?php
    $file = "downloads.json";
    $json = json_decode(file_get_contents($file), true);
    header('Content-Type: application/json');
    echo json_encode($json);
?>

下载.json

{"count":174}

像这样尝试

例如3按钮

<input type='button' name='btn1' class='download'/>
<input type='button' name='btn2' class='download'/>
<input type='button' name='btn3' class='download'/>

将按钮名称发送到服务器,并在不同的.smallbtn1´.smallbtn2´.smallbtn3 中显示计数

$('.download').click(function(event) {
  event.preventDefault();
  ga('send', 'event', 'Button', 'Clicks', 'Downloads');
    var redirectUrl = $(this).attr('href');
    //get name of button
    var name= $(this).prop('name');
    //==================
    $.ajax({
        url: "downloads.php",
        data:{buttonName:name},
        method: "POST",
        success: function(response) {
            if (response = 'success') {                
                //get count download
                $.ajax({
                    url: "downloadsCount.php",
                    data:{buttonName:name},
                    method: "POST",
                    success: function(response){
                           $('.small'+name).html(response);     
                           $("#cover").fadeIn(600);
                           $("body").addClass("hidescroll");
                           window.location.href = "download/imagins_._ro_free_files_format_icons.rar";                  
                    }                   
               });      
            //===================                    
            }
        }
    });
    return true;
});

在downloads.php中打开json文件

<?php
    $buttonName=$_POST["buttonName"];
    $file = "downloads.json";
    $json = json_decode(file_get_contents($file), true);
    $json['count'.$buttonName] = $json['count'.$buttonName] + 1;
    file_put_contents($file, json_encode($json));
    echo 'success';
?>

下载Compunt.php

<?php
    $buttonName=$_POST["buttonName"];
    $file = "downloads.json";
    $json = json_decode(file_get_contents($file), true);
    echo $json['count'.$buttonName] ; 
?>

downloads.json

{"countbtn1":0,"countbtn2":0,"countbtn3":0}

这是我的测试,为我工作