Fusion Tables MAXIMUM QUERY set data to 0 IF return no row

104 Views Asked by At

Hello I want to set my data value to 0 if my query result no row or data undefined. I tried change the dataType, error, done, succees and set header to

header('Content-Type: application/json'); Blockquote

but not worked. Can anybody help me? thanks for any help..

<!DOCTYPE html>

<html>
 <head>
  
  <meta charset="UTF-8">
  <title>Fusion Tables Layer Example: Basic JSONP Request</title>
  <script
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
  </script>
  <script type="text/javascript">
   function jp() {
    var query = "SELECT MAXIMUM ('Tinggi Pohon')  FROM 1O5aIPnHBCimWsYg0gOXIeRH6eL-6byD95Nd2pdXR WHERE idStatistikPohon=0 ";
    var encodedQuery = encodeURIComponent(query);
    
    // Construct the URL
    var url = ['https://www.googleapis.com/fusiontables/v1/query'];
    url.push('?sql=' + encodedQuery);
    url.push('&key=AIzaSyA6Lug89RBK8spwEEq1WYrrzbDwlsgUrK0');
    url.push('&callback=?');
    
    // Send the JSONP request using jQuery
    $.ajax({
     url: url.join(''),
     dataType: 'jsonp',
     success: function (data) {
      response = jQuery.parseJSON(data);
      var rows = data['rows'];
      var ftData = document.getElementById('ft-data');
      var tpv = rows[0][0];
      if(tpv != null){
       ftData.innerHTML = "Total "+tpv+" data";
      }
     }
    });
   }
  </script>
  <script type="text/javascript">
   function initialize() {
    jp();
   }
  </script>
 </head>
 <body onload="initialize()">
  <div id="ft-data"></div> 
 </body>
</html>

1

There are 1 best solutions below

0
On BEST ANSWER
                success: function (data) {

                    //set data to an empty object when it's undefined
                    var data=data||{};

                    //set default for rows when it's undefined
                    var rows = data['rows']||[[[0]]];

                    var ftData = document.getElementById('ft-data');
                    var tpv = rows[0][0]
                    if(tpv != null){
                        ftData.innerHTML = "Total "+tpv+" data";
                    }
                }