Esempio n. 1
0
<?php 
/* NEW CALCULATION INSERT TO DB */
//check input
if (!isset($_POST['name'], $_POST['formula'], $_POST['unit'])) {
    die;
}
//process input
$name = mysql_real_escape_string($_POST['name']);
$form = mysql_real_escape_string($_POST['formula']);
$unit = mysql_real_escape_string($_POST['unit']);
//check for duplicates in name and formula
$duplicates = current(mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM calculations WHERE name='{$name}'")));
if ($duplicates > 0) {
    die("ERROR! This calculation name already exists!");
}
$duplicates = current(mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM calculations WHERE formula='{$form}'")));
if ($duplicates > 0) {
    die("ERROR! This calculation formula already exists!");
}
//check if formula is valid
include "calculations_library.php";
$ids = idsPerFormula($form);
$result = applyFormula($form, $ids);
//if it's incorrect, this function will die()
//all is ok! insert calculation query
$sql = "INSERT INTO calculations (name,formula,unit) VALUES ('{$name}','{$form}','{$unit}')";
mysql_query($sql) or die(mysql_error());
//success & go to new device
echo "<b>New Calculation '{$name}' Inserted Correctly!</b> ";
$id = current(mysql_fetch_array(mysql_query("SELECT MAX(id) FROM calculations")));
echo "<a href=calculation.php?id={$id}>VIEW</a>";
Esempio n. 2
0
}
//WHERE device_$id is NOT NULL
$notNull = [];
foreach ($ids as $id_device) {
    $notNull[] = "al.device_{$id_device} IS NOT NULL";
}
$notNull = implode(" AND ", $notNull);
//final SQL
$sql = " \t\n\t\t\t\tSELECT * FROM (\n\t\t\t\t\tSELECT date," . implode(",", $cols) . "\n\t\t\t\t\tFROM readings \n\t\t\t\t\t{$dateFilter}\n\t\t\t\t\tGROUP BY date \n\t\t\t\t\tORDER BY date DESC\n\t\t\t\t) al \n\t\t\t\tWHERE ({$notNull})\n\t\t\t\tORDER BY date ASC\n\t\t\t";
//execute
$res = mysql_query($sql) or die(mysql_error());
$results = mysql_num_rows($res);
echo "<script>document.getElementById('results').innerHTML='{$results}'</script>";
while ($row = mysql_fetch_array($res)) {
    $date = $row['date'];
    echo "<tr><td>{$date}";
    $values = [];
    //values in this iteration
    foreach ($ids as $id_device) {
        $value = $row["device_{$id_device}"];
        $values[] = $value;
        $value = round($value, 4);
        echo "<td>{$value}";
    }
    echo "<td style=background:#af0>" . round(applyFormula($formula, $values), 4);
}
?>
</table>

<!--TIME--><br><?php 
printf("Page generated in %f seconds", microtime(true) - $start);