[PHP] ESTRARRE DA DB VALORE MASSIMO E MINIMO IN UN INTERVALLO IMPOSTABILE A PIACERE

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
salve a tutti, ho un database MySql di valori meteorologici, sono poco esperto di php e mysql, quindi per chiarezza riporto un esempio fittizio:

DATA TEMP UMIDITA'
22/05/2017 12:00 24,5 28
22/05/2017 12:05 24,9 26
22/05/2017 12:10 25,5 25
....
22/05/2017 21:15 21,7 34
22/05/2017 21:20 21,2 37
22/05/2017 21:25 20,5 40

ho bisogno di estrarre e stampare a video il valore massimo e minimo di temperatura e umidità di un intervallo temporale impostabile a piacere, per capirsi: stampare a video massima e minima del giorno 22 maggio.

Come faccio a selezionare tutti i valori del giorno 22 maggio e poi tirar fuori il valore massimo per ogni colonna?

il mio sito è www.meteolucignano.net, funzionante, ma manca l'implementazione che vi chiedo.

grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
Codice:
SELECT MAX(TEMP) FROM WHERE DATA = "2017-05-22"
Codice:
SELECT MIN(TEMP) FROM WHERE DATA = "2017-05-22"
la data la puoi passare tramite post ma devi crearti un calendario
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
grazie! forse è più facile di quanto pensassi... magari ci fosse qualche anima pia che mi scrive l'intero codice php per poter collegarsi al db, estrarre e stampare a video i valori... scusate ma non sono molto esperto di sviluppo php.
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
PHP:
<?php
define('DB_SERVER', 'INSERISCI_QUI');
define('DB_USERNAME', 'INSERISCI_QUI');
define('DB_PASSWORD', 'INSERISCI_QUI');
define('DB_DATABASE', 'INSERISCI_QUI');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$date1 = "2017-05-22";
$date2 = "2017-05-22";
$query = "SELECT MAX(temp) FROM nometabella WHERE data > '$date1 00:00:00' AND data < '$date2 23:59:59'";
$result = $db->query($query);
$resultarray = $result->fetch_assoc();
$maxtemp = $resultarray['MAX(temp)'];

echo "<h1>Periodo dal ".date("d/m/Y", strtotime($date1))." al ".date("d/m/Y", strtotime($date2))."</h1>";
echo "<h2>Temperatura massima: ".$maxtemp."°</h2>";
?>
Nelle prime righe devi inserire i dati di connessione al db, mentre nella riga della query devi sostituire "nometabella" con il nome della tabella.
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
grazie in anticipo Livellacri... purtroppo però la pagina non funziona! ti allego lo snapshot del codice, sicuramente ho sbagliato qualcosa io nella sintassi; ho cancellato i parametri di accesso al db e sostituito con "TEMP" "temp" perchè nella mia tabella è scritto in maiuscolo.
 

Allegati

  • Cattura.JPG
    Cattura.JPG
    69,5 KB · Visite: 464

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
consultando i log degli errori del server del mio sito, ho trovato questa riga:

[23-May-2017 12:52:14 Europe/Rome] PHP Fatal error: Call to a member function fetch_assoc() on boolean in /home/meteolucignano/public_html/minmaxoggi1.php on line 11

la riga 11 è la seguente:

$resultarray = $result->fetch_assoc();

dove sta l'errore???
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
utilizzando l'approccio ad oggetti bisogn inizializzare la classe mysqli, cambia
PHP:
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
con
PHP:
$db = new mysqli(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
L'errore è nella query.
Sei sicuro di avere inserito correttamente il nome del database e della tabella?
Il campo contenente la data è dopo datetime?
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
rispondo a Livellacri: ho un file (config.php) a cui gli altri file si rifanno per connettersi al DB; esempio quando clicchi sul seguente link:

http://www.meteolucignano.net/swpi_plot.php

per poter disegnare i grafici, viene interrogato il DB e per connettersi, il suddetto file "richiama" il config.php con la seguente riga:

require_once("config.php");

ho copiato e incollato con attenzione le credenziali di accesso, e or ora le ho ricontrollate, quindi non credo siano errate.

Trovi negli allegati il file config.php e uno snapshot della tabella METEO del mio database; in questo caso, la colonna dei valori di cui voglio tirar fuori il minimo e il massimo è TEMP (all'estrema destra).
 

Allegati

  • config.JPG
    config.JPG
    23,5 KB · Visite: 431
  • tabella.JPG
    tabella.JPG
    147,5 KB · Visite: 482

livellacri

Utente Attivo
18 Ago 2016
108
13
18
La colonna "data" qui non esiste.
L'hai sostituito con il nome corretto?
Manda anche la struttura della tabella, in modo da vedere il tipo dei campi
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
da quello che ho capito dall'immagine il campo con le date si chiama TIMESTAMP_LOCAL, giusto?
PHP:
<?php
//dati di connessione
//immagino $data1 e $data2 da $_POST
//indispensabili controlli sulla correttezza dele date inputate
//attento a come sono formattate le date
$query="SELECT min(TEMP) as min, max(TEMP) as max FROM nome_tabella WHERE TIMESTAMP_LOCAL betwen('$data1' and '$data2')";
$ris=mysqli_query($conn, $query);
$riga=mysqli_fetch_assoc($ris);
echo "tra $data1 e $data2 temperature: minima ".$riga['min']."°C - massima ".$riga['max']."°C<br>";
//....
?>

p.s.
mi spiace ma io uso il procedurale, odio la programmazione ad oggetti
 
Ultima modifica:

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
per Livellacri: la colonna che contiene data e ora (aaa-mm-gg hh:mm:ss) è nominata "TIMESTAMP_LOCAL"... ho provato il codice di Borgo Italia ma per ora sempre "la pagina non funziona"...
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Ma il tipo del campo nella tabella quale è?
Posta un'immagine della pagina "Struttura" della tabella.
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
ok, buone notizie: il codice allegato funziona! per semplicità ho inserito i valori "data1" e "data2" direttamente nel codice e ho impostato la query in modo da estrarre il valore minimo della TEMP (ditemi se ho compilato bene)... per adesso a video mi viene stampato tutto TRANNE il valore minimo della TEMP. ci siamo quasi...
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
per chi mi aveva chiesto la struttura della tabella METEO, in allegato lo snapshot della maggior parte dei valori
 

Allegati

  • struttura.JPG
    struttura.JPG
    58,3 KB · Visite: 460

livellacri

Utente Attivo
18 Ago 2016
108
13
18
ok, buone notizie: il codice allegato funziona! per semplicità ho inserito i valori "data1" e "data2" direttamente nel codice e ho impostato la query in modo da estrarre il valore minimo della TEMP (ditemi se ho compilato bene)... per adesso a video mi viene stampato tutto TRANNE il valore minimo della TEMP. ci siamo quasi...
Quale codice stai utilizzando?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ha ragione livvellacri, se non posti il codice è difficile capire
anche se mi viene un dubbio:
dici che scrivendo lle date nel codice lo script funziona, quindi è probaile che l'errore sia nel modo in cui inputi le date
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
chiamo (erroneamente?) codice il "contenuto" del file .php, già allegato nel precedente post, e che ri-allego qui
 

Allegati

  • Cattura.JPG
    Cattura.JPG
    41,8 KB · Visite: 492
Discussioni simili
Autore Titolo Forum Risposte Data
N [PHP] Estrarre singolo valore da array PHP 4
M Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea' PHP 6
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
C [PHP] Estrarre da una classe i valori che mi interessano PHP 5
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 11
R [PHP] Estrarre id utente loggato.? PHP 4
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
trattorino estrarre titolo video facebook in php PHP 0
trattorino [PHP] sql estrarre in base all'ultima visita PHP 4
Jensen [PHP] Estrarre prossimi 4 lunedì PHP 4
trattorino [PHP] estrarre dati singoli PHP 1
G [PHP] estrarre data da timeline yyyy-dd-gg hh:mm:ss PHP 4
S [PHP] Estrarre dati colonna in una stringa PHP 6
S [PHP] estrarre dati sito web protetto con username e password PHP 13
Merlina3377 [PHP] estrarre solo un determinato id da tanti con REGEXP O LIKE PHP 1
trattorino Estrarre Nome Utente jquery div php PHP 9
S [PHP] estrarre le email da un elenco di url PHP 21
T4MAR4 [PHP] estrarre tag da un testo PHP 3
T [PHP] Estrarre stringa PHP 3
bubino8 [PHP] Estrarre dominio No Sottodomini PHP 10
L [PHP] Estrarre dati da sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
sandropochi [PHP] Query per estrarre record con data successiva a quella odierna PHP 2
giancadeejay [PHP] Estrarre solo record dell'utente connesso PHP 4
U [PHP] estrarre i risultati di una query e visualizzarli in una tabella. PHP 9
S [PHP] estrarre numero da stringa PHP 5
giuseppe_123 [PHP] Estrarre giorno mese e anno da una data PHP 2
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
asevenx [PHP] Estrarre valori evitando dublicati dal database PHP 2
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
R Estrarre dati da tabella mysql [era:Sto benedetto php] PHP 22
M Estrarre dato da php e mysql PHP 5
A Estrarre da un Datetime di mysql la data e l'orario in PHP PHP 2
O [help] estrarre e visualizzare dati da mysql con php a oggetti PHP 6
I Estrarre dati da un file php PHP 3
D [PHP/SQL] Estrarre risultati da 2 database Database 0
P estrarre dati xml excel con php XML 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3

Discussioni simili