Jump to content

1 call from php JSON


hkalan2007

Recommended Posts

Hello,

 

I am trying to understand how to post several actions and return 1 call. I am new to this so I thank you for your understanding.

 

Here is the full story, I have the Jquery working now that 1 "onSelect" will post to 6 php files, but it takes forever for all the calls to return to the div. From my reading, I need to put the 6 php files into one php file, and then return this with JSON... here is where my trouble begins.

 

Now here is the current php file that I have put into 1 php file (placed as they were working when in 6 files to the Jquery below)

 

<?php  
$choice = (isset($_POST['choice'])) ? date("Y-m-d",strtotime($_POST['choice'])) : date("Y-m-d"); 
$con = mysql_connect("xxxxxx","xxxxxx","xxxxxx");  
if (!$con)  {  
die('Could not connect: ' . mysql_error());  
}  
mysql_select_db("inverters", $con);  
$sql = "SELECT sum(power/1000) AS choice FROM feed WHERE date = '".$dayPower."' group by date";$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error()); 
$d = array();
while($row = mysql_fetch_assoc($res)) {; 
echo json_encode($d);  
}
?>
<?php
$choice = (isset($_POST['choice'])) ? date("Y-m-d",strtotime($_POST['choice'])) : date("Y-m-d"); 
$con =$con = mysql_connect("xxxxxx","xxxxxx","xxxxxx"); mysql_connect("localhost","root","mackie1604");  
if (!$con)  {  
die('Could not connect: ' . mysql_error());  
}  
mysql_select_db("inverters", $con);  
$sql = " SELECT HOUR(time) as h, power 
FROM feed  
WHERE date = '".$choice."'  
ORDER BY HOUR(time)";  
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error()); 
$daypower = array();
while($row = mysql_fetch_assoc($res)) { 
$daypower[] = $row['power'];  
}
?>
<script type="text/javascript">
$(document).ready(function() {
var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'apDiv4',
         defaultSeriesType: "column",	 
},
  events: {
	  marginTop: 1,
	  marginRight: 1,
	  marginBottom: 1,
	  marginLeft: 4
  },
       credits: {
     enabled: false,
   },
      title: {
         text: null,
      },
      subtitle: {
         text: null,
      },
      xAxis: {
	  labels: {
                y: 15
           },
         categories: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
      },
      yAxis: {
         min: 0,
	 max: 2000,
         title: {
            text: null
         },
	  labels: {
             align: 'left'
         }
      },
      legend: {
         enabled: false
      },
      tooltip: {
         formatter: function() {
            return ''+
               this.x +': '+ this.y +' Watt hr';
         }
      },
      plotOptions: {
         column: {
            pointPadding: 0.02,
            borderWidth: 0
         }
      },
           series: [{
         name: '',
	 color: '#50B432', 
         data: [<?php echo join($daypower, ', '); ?>]
      }]	  
   });  
});
</script>

<?php 
$choice = (isset($_POST['choice'])) ? date("m",strtotime($_POST['choice'])) : date("m"); 
$con = mysql_connect("xxxxxx","xxxxxx","xxxxxx"); 
if (!$con)  {  
die('Could not connect: ' . mysql_error());  
}  
mysql_select_db("inverters", $con);  
$sql = "SELECT sum(power/1000) AS choice FROM feed WHERE month(date) = '".$choice."'";
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error()); 
$row = mysql_fetch_assoc($res); 
echo $row['choice'].'<br />';  
?>

<?php
$choice = (isset($_POST['choice'])) ? date("m",strtotime($_POST['choice'])) : date("m"); 
$con = mysql_connect("xxxxxx","xxxxxx","xxxxxx");  
if (!$con)  {  
die('Could not connect: ' . mysql_error());  
}  
mysql_select_db("inverters", $con);  
$sql = " SELECT MONTH(date) AS m, SUM(power/1000) AS monthpower 
FROM feed  
WHERE MONTH(date) = '".$choice."' 
GROUP BY DAY(date)
ORDER BY DAY(date)";  
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error());  
$monthpower = array();
while($row = mysql_fetch_assoc($res)) { 
$monthpower[] = $row['monthpower'];  
}
?>
<script type="text/javascript">
$(document).ready(function() {
   var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'apDiv9',
         defaultSeriesType: "column"
},
  events: {
	  marginTop: 1,
	  marginRight: 0,
	  marginBottom: 0,
	  marginLeft: 1
  },
      title: {
         text: null,
      },
      subtitle: {
         text: null,
      },
      xAxis: {
	  labels: {
		   y: 15
           },
         categories: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']
      },
      yAxis: {
         min: 0,
	 max: 20,
         title: {
            text: null
         },
	  labels: {
             align: 'left'
         }
      },
      legend: {
         enabled:false
      },
      tooltip: {
         formatter: function() {
            return ''+
               this.x +': '+ this.y +' kWh';
		   fontWeight: 'normal'
		   fontSize: '1px'
         }
      },
      plotOptions: {
         column: {
            pointPadding: 0.2,
            borderWidth: 0
         }
      },
           series: [{
         name: '',
	 color: '#50B432', 
         data: [<?php echo join($monthpower, ', '); ?>]
      }],
  credits: {
		 enabled:false,
    },
   });  
});
</script>

<?php 
$choice = (isset($_POST['choice'])) ? date("Y",strtotime($_POST['choice'])) : date("Y"); 
$con = mysql_connect("xxxxxx","xxxxxx","xxxxxx");  
if (!$con)  {  
die('Could not connect: ' . mysql_error());  
}  
mysql_select_db("inverters", $con);  

$sql = "SELECT sum(power/1000) AS choice FROM feed WHERE year(date) = '".$choice."'";
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error()); 
$row = mysql_fetch_assoc($res); 
echo $row['choice3'].'<br />';  
?>

<?php
$choice = (isset($_POST['choice'])) ? date("Y",strtotime($_POST['choice'])) : date("Y"); 
$con = mysql_connect("xxxxxx","xxxxxx","xxxxxx"); 
if (!$con)  {  
die('Could not connect: ' . mysql_error());  
}  
mysql_select_db("inverters", $con);  

$sql = " SELECT MONTH(date) AS y, SUM(power/1000) AS yearpower 
FROM feed  
WHERE YEAR(date) = '".$choice."' 
GROUP BY MONTH(date)
ORDER BY MONTH(date)";  
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error());  
$yearpower = array();
while($row = mysql_fetch_assoc($res)) { 
$yearpower[] = $row['yearpower'];     
}
?>
<script type="text/javascript">
$(document).ready(function() {
    var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'apDiv10',
         defaultSeriesType: "column"
},
  events: {
	  marginTop: 1,
	  marginRight: 1,
	  marginBottom: 1,
	  marginLeft: 1
  },
       credits: {
     enabled: false,
   },
      title: {
         text: null,
      },
      subtitle: {
         text: null,
      },
      xAxis: {
	  labels: {
                y: 15
           },
         categories: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
      },
      yAxis: {
         min: 0,
	 max: 500,
         title: {
            text: null
         },
	  labels: {
             align: 'left'
         }
      },
      legend: {
         enabled: false
      },
      tooltip: {
         formatter: function() {
            return ''+
               this.x +': '+ this.y +' kWh';
         }
      },
      plotOptions: {
         column: {
            pointPadding: 0.2,
            borderWidth: 0
         }
      },
           series: [{
         name: '',
	 color: '#50B432', 
         data: [<?php echo join($yearpower, ', '); ?>]
      }]
   });  
});
</script>

 

Here is the Jquery that was working to send to the 6 different php files (to help you understand what my goal is...

 

$('#datepicker').datepicker({maxDate: 0, dateFormat: 'yy-mm-dd', onSelect: function(dateText) {
            var myDate = $(this).datepicker('getDate');
            $('#apDiv1').html($.datepicker.formatDate('DD, d', myDate));
            $('#apDiv5').html($.datepicker.formatDate('MM', myDate));
            $('#apDiv7').html($.datepicker.formatDate('yy', myDate));
            
		$('#apDiv2').load('dayPower.php', {choice: dateText}, function() {
                  $(this).show();
            });
            $('#apDiv4').load('dayGraph.php', {choice: dateText}, function() {
                  $(this).show();
            });
            $('#apDiv6').load('monthPower.php', {choice: dateText}, function() {
                  $(this).show();
            });
            $('#apDiv9').load('monthGraph.php', {choice: dateText}, function() {
                  $(this).show();
            });
            $('#apDiv8').load('yearPower.php', {choice: dateText}, function() {
                  $(this).show();
            });
            $('#apDiv10').load('yearGraph.php', {choice: dateText}, function() {
                  $(this).show();
            });
      }});
}); 	

 

I am back to this as what I was changing became a mess, and I am starting from what was working....

 

How do I get JSON to send and return from the one PHP file.

 

Thank You,

 

Alan

Link to comment
https://forums.phpfreaks.com/topic/221095-1-call-from-php-json/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.