Example #1
0
//$array_connect will contain a string so it ist easy to overgive it to javascript
$array_connect = '';
for ($i = 0; $i < count($id_coord); $i++) {
    $array_connect = $array_connect . ',' . $id_coord[$i];
}
$array_connect = substr($array_connect, 1);
/*
                                                $result=pg_query("select * from sensor_measureddata_join where id=75759 and date= (select max(date)from \"MeasuredData\" where \"sensorId\"=75759);");
                                                $data = pg_fetch_object($result);
                                                $timestamp=$data->date;
                                                $date=substr($timestamp,0,10);
                                                $sub=explode("-",$date);
                                                $date="  ".$sub[2]."-".$sub[1]."-".$sub[0];
                                                $time=substr($timestamp,10,9);*/
//The following line retrieves all values from every parameter for every ID, $all_values is an array. See pg_value_functions.
$all_values = get_values(get_id_coord());
$anzahl = count($all_values);
?>
                                                                      

                                                //$all_values is an array. In every slot is a string with the values for one parameter. The following lines split these
                                                //strings so they can be used for the popups.
                                                var split_names="<?php 
echo $all_values[0];
?>
".split(",");
                                                split_dates="<?php 
echo $all_values[1];
?>
".split(",");
                                                split_times="<?php 
function get_values($id_coord)
{
    //Initialisation of arrays for every parameter.
    $names = array();
    $dates = array();
    $times = array();
    $temperatures = array();
    $ozones = array();
    $no2s = array();
    $humiditys = array();
    $carbon_monoxide = array();
    for ($i = 0; $i < count($id_coord); $i += 3) {
        //The following query calls up all the values for one ID. The loop increases by 3 because in every third slot we have an ID
        $result = pg_query("select * from sensor_measureddata_join where id=" . $id_coord[$i] . " and date= (select max(date)from \"MeasuredData\" where \"sensorId\"=" . $id_coord[$i] . ");");
        $data = pg_fetch_row($result);
        //Some eggs are defect or inactive from the beginning. Those eggs do not have usefull values and only a single slot.
        //In these cases we replace them by '-'
        if (count($data) == 1) {
            array_push($names, "-");
            array_push($dates, "-");
            array_push($times, "-");
            array_push($temperatures, "-");
            array_push($ozones, "-");
            array_push($no2s, "-");
            array_push($humiditys, "-");
            array_push($carbon_monoxide, "-");
        } else {
            array_push($names, $data[1]);
            $timestamp = $data[4];
            $date = substr($timestamp, 0, 10);
            $sub = explode("-", $date);
            $date = "  " . $sub[2] . "-" . $sub[1] . "-" . $sub[0];
            $time = substr($timestamp, 10, 9);
            array_push($dates, $date);
            array_push($times, $time);
            array_push($temperatures, $data[5]);
            array_push($ozones, $data[7]);
            array_push($no2s, $data[9]);
            array_push($humiditys, $data[11]);
            array_push($carbon_monoxide, $data[13]);
        }
        /*for($i=0;$i<count($data);$i++){
        		echo $data[$i].'</br>';
        		}*/
    }
    /*What the following lines do:
    		The problem here is the transfer to javascript. Solution: Connect the values in the arrays above with a comma as a separator. 
    		Thus we get one string for every parameter.	In our case we get 8 big strings, each representing one parameter. This makes it easy to overgive 
    		these values to javascript, for example: var test="<?php echo $testcase[i] ?>";. Then it can be splitted again in Javascript: 
    		split_test="<?php echo $test[i] ?>".split(",");					
    		*/
    $names_connect = '';
    $dates_connect = '';
    $times_connect = '';
    $temperatures_connect = '';
    $ozones_connect = '';
    $no2s_connect = '';
    $humiditys_connect = '';
    $carbon_monoxide_connect = '';
    $id_coord = get_id_coord();
    for ($i = 0; $i < count($id_coord) / 3; $i++) {
        $names_connect = $names_connect . ',' . $names[$i];
        $dates_connect = $dates_connect . ',' . $dates[$i];
        $times_connect = $times_connect . ',' . $times[$i];
        $temperatures_connect = $temperatures_connect . ',' . $temperatures[$i];
        $ozones_connect = $ozones_connect . ',' . $ozones[$i];
        $no2s_connect = $no2s_connect . ',' . $no2s[$i];
        $humiditys_connect = $humiditys_connect . ',' . $humiditys[$i];
        $carbon_monoxide_connect = $carbon_monoxide_connect . ',' . $carbon_monoxide[$i];
    }
    //delete the first sign, here a comma.
    $names_connect = substr($names_connect, 1);
    $dates_connect = substr($dates_connect, 1);
    $times_connect = substr($times_connect, 1);
    $temperatures_connect = substr($temperatures_connect, 1);
    $ozones_connect = substr($ozones_connect, 1);
    $no2s_connect = substr($no2s_connect, 1);
    $humiditys_connect = substr($humiditys_connect, 1);
    $carbon_monoxide_connect = substr($carbon_monoxide_connect, 1);
    //echo $names_connect;
    //$all_values is an array containing a string for every parameter as mentioned above.
    $all_values = array();
    array_push($all_values, $names_connect);
    array_push($all_values, $dates_connect);
    array_push($all_values, $times_connect);
    array_push($all_values, $temperatures_connect);
    array_push($all_values, $ozones_connect);
    array_push($all_values, $no2s_connect);
    array_push($all_values, $humiditys_connect);
    array_push($all_values, $carbon_monoxide_connect);
    return $all_values;
}