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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.