C'era una parentesi graffa di troppo.
Prova ora:
Prova ora:
PHP:
if (isset($_POST['form-ricerca'])) {
$nome_tabella = "tblprenotazioneauto";
$field = array("str_data","nominativo","matricola","orauscita_piedi","oraentrata_piedi","motivo","tipouscita","modificato_da","datamodifica");
$field_view = array("Data", "Nominativo", "Matricola", "Ora uscita", "Ora entrata", "Motivo", "Tipo uscita", "Modificato da", "Data ora modifica");
$field_timestamp = array("str_data");
if ($_POST['data2']<1) {
$_POST['data2'] = $_POST['data1'];
}
$data1 = $_POST['data1'];
$data1 = explode("-", $data1);
if(!checkdate ( (int)$data1[1] , (int)$data1[0] , (int)$data1[2] )){
echo "data errata";//e un ritorno automatico al form
}
$timestamp1 = mktime(0,0,0,$data1[1],$data1[2],$data1[0]);
$data2 = $_POST['data2'];
$data2 = explode("-", $data2);
if(!checkdate ( (int)$data2[1] , (int)$data2[0] , (int)$data2[2] )){
echo "data errata";//e un ritorno automatico al form
}
$timestamp2 = mktime(23,59,59,$data2[1],$data2[2],$data2[0]);
echo "<table>";
echo "<tr>";
foreach ($field_view as $thisfield) {
echo "<th>".$thisfield."</th>";
}
echo "</tr>";
$wh="";
if(!empty($_POST['tipouscita'])) $wh.=" AND tipouscita='".$_POST['tipouscita']."'";
if(!empty($_POST['matricola'])) $wh.=" AND matricola='".$_POST['matricola']."'";
$query = "SELECT * FROM $nome_tabella WHERE str_data BETWEEN $timestamp1 AND $timestamp2 $wh";//se il campo str_data e tipo intero, se stringa ci vogliono gli apici
//...
$result = $DB->query($query);
while ($resultarray=$result->fetch_assoc()) {
echo "<tr>";
foreach ($field as $thisfield) {
if (in_array($thisfield, $field_timestamp)) {
echo "<td>".date("d/m/Y",intval($resultarray[$thisfield]))."</td>";
}
else {
echo "<td>".$resultarray[$thisfield]."</td>";
}
}
echo "</tr>";
}
echo "</table>";
}
$DB->close();