Search code examples
javascriptjqueryarraysgetjson

Using getJSON function to read from while loop data


<?
    while ($row_previous_bill = $res_previous_bill->fetchRow()) { 
        $bill = $row_previous_bill[6];
        $bill_2 = $row_previous_bill[2];
        $bill_3 = $row_previous_bill[3];
        $bill_4 = $row_previous_bill[1];
        $hotspot_location = $row_previous_bill[5];
        $data[] = array("result_paid" => $bill, "err_code" => 0, "result_payment_details" => $bill_3, "result_time" => $bill_4, "result_location" => $hotspot_location);
    }

    $name = array("response" => $data);
    //sets the response format type
    header("Content-Type: application/json");
    //converts any PHP type to JSON string
    echo json_encode($name);
?>

I am using the while loop above to get JSON format, then i use this

$(function() {
    //Set Url of JSON data. make sure callback is set   with a '?' to overcome the cross domain problems with JSON
    var url = "http://127.0.0.1/olem.app/tab/api/js_on.php?get=json&subscribers=incomplete";
    //Use jQuery getJSON method to fetch the data from the url and then create our unordered list with the relevant data.$(username)
    $.getJSON(url,function(json){
        var html = "" + json.result_paid + "";
        //A little animation once fetched
        $('#js_inc_month').animate({ opacity: 0 }, 5, function(){
            $('#js_inc_month').html(html);  
        });
        $('#js_inc_month').animate({ opacity: 1 }, 5);
    });
});

to display <div id="js_inc_month"></div>up to this point i am getting undefined, how do i turn around this


Solution

  • Because of this:

    $name = array("response" => $data);
    

    You will have to access the data like that:

    json.response[0].result_paid
    

    If anything is unclear your could simply:

    console.log(json)
    

    in the response to see how the received object looks like.