• Home
  • Forum
  • Fare Web
  • PHP

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

  • Creatore Discussione Creatore Discussione giacomo9783
  • Data di inizio Data di inizio 22 Mag 2017
  • Tag Tag
    mysql php
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #21
ciao
non metterlo nelle immagini, postalo direttamente
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #22
eccolo qui! l'ho un po' modificato, ma continua a non darmi nessun segnale di funzionamento se non riportare pari pari le date a video... sicuramente ho scritto male qualche spazio/virgola/segno di punteggiatura



PHP:
<?php
require_once("config.php");
$con=mysql_connect($server,$user,$pwd);

$data1="2017-05-20";
$data2="2017-05-20";

$sql="SELECT MIN(TEMP) as 'min' FROM `METEO` WHERE TIMESTAMP_LOCAL betwen('$data1' and '$data2')";
$ris=mysqli_query($con, $sql);
$riga=mysqli_fetch_assoc($ris);
echo "GIORNO $data1 temperature: minima ".$riga['min']."°C<br>";
?>
 
Ultima modifica di un moderatore: 23 Mag 2017

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #23
ciao
intanto sbagli la $conn, se usi mysqli
devi usare
PHP:
$conn = mysqli_connect($server,$user,$pwd,$db);
devi usare mysqli_connect e mettere il nome del database

dimenticavo
togli gli apici a min e i batck al nome della tabella
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #24
PHP:
<?php
require_once("config.php");
$con = mysqli_connect($server,$user,$pwd,$meteoluc_ignano);

$data1="2017-05-20";
$data2="2017-05-20";

$sql="SELECT MIN(TEMP) as min FROM METEO WHERE TIMESTAMP_LOCAL betwen('$data1' and '$data2')";
$ris=mysqli_query($con, $sql);
$riga=mysqli_fetch_assoc($ris);
echo "GIORNO $data1: temperatura minima ".$riga['min']."°C<br>";
?>

ci siamo???
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #25
ciao
sintatticamente sembra corretto, se funziona devi dirlo tu

quando posti del codice vai sulla riga di formattazione del post "inserisci ->codice, inserisci e scegli il tipo" (quartultima iconcina)
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #26
intanto ho aggiunto una "e" al "betwen" della query, ma ancora non mi compare il valore desiderato (temperatura minima)... Non sarà mica per caso il fatto che il TIMESTAMP_LOCAL è in formato "2017-05-20 12:34 13:55" e io inserisco nella query solo una parte, cioè 2017-05-20 ?
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #27
ad ogni modo, il server del mio sito mi logga un errore alla riga 10, cioè questa:

Codice:
$riga=mysqli_fetch_assoc($ris);

l'errore indicato è come segue:

[23-May-2017 18:11:01 Europe/Rome] PHP Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /home/meteolucignano/public_html/minmaxoggi1.php on line 10
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #28
ciao
la e mio errore di battitura
eventualmente due cose
aggiungi come aveva detto livellacri la parte mancante a $data1 e $data2 (attento agli spazi e separatori) 00:00 e 59:59
prova a togliere le parentesi ....TIMESTAMP_LOCAL betwen '$data1' and '$data2'
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #29
ottime notizie! tolte le parentesi e aggiunta l'ora dopo la data, l'estrazione del valore funziona a dovere

qui il codice funzionante:
Codice:
<?php
require_once("config.php");
$con = mysqli_connect($server,$user,$pwd,$db);

$data1="2017-05-23 00:00";
$data2="2017-05-23 23:59";

$sql="SELECT MAX(TEMP) as max FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2'";
$ris=mysqli_query($con, $sql);
$riga= mysqli_fetch_assoc($ris);
echo "GIORNO $data1: temperatura massima ".$riga['max']."째C<br>";
?>

adesso una chicca per il mio sito, spero si possa fare: vorrei stampare accanto al valore (in questo caso la temperatura massima) l'orario in cui è stata rilevata.. ovviamente dalla colonna TIMESTAMP_LOCAL
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #30
ciao
se ti da errore alla mysqli_fetch, l'eerore può nascera da $conn o dalla $ql o da $ris
comincia a mettere dei var_dump (che poi toglierai)
PHP:
<?php
require_once("config.php");
$conn = mysqli_connect($server,$user,$pwd,$db);
echo "<pre>";//poi lo togli ti serve per visualizzare bene i vari var_dump
var_dump($conn);//se ti da FALSE l'errore è nella connessione e quindi devi verificare dati di connessione
$data1="2017-05-20";
$data2="2017-05-20";

$sql="SELECT MIN(TEMP) as min FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2'";//prova con e senza parentesi
var_dump($sql);//verifica che venga scritta giusta
$ris=mysqli_query($con, $sql);
var_dump($ris);//se ti da FALSE ma la connessioene ti ha dato resorce (quindi ok) devi verificare nomi tabella e campi
$riga=mysqli_fetch_assoc($ris);
echo "GIORNO $data1 temperature: minima ".$riga['min']."°C<br>";
echo "</pre>";
?>
posta quanto riportato dai var_dump
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #31
ciao
scusa ci siamo incrociati
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #32
si si tranquillo, anzi infinite grazie per il Vostro aiuto che finora ha dato ottimi frutti... mancherebbe solo di stampare accanto al valore massimo il rispettivo orario in cui è stato scritto nel database.. .valore da tirar fuori dalla colonna TIMESTAMP_LOCAL, ma non saprei proprio come fare!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 23 Mag 2017
  • #33
ciao
ho la vaga impressione che tu debba fare due query
PHP:
<?php
require_once("config.php");
$con = mysqli_connect($server,$user,$pwd,$db);

$data1="2017-05-23 00:00";
$data2="2017-05-23 23:59";

$sql="SELECT MAX(TEMP) as max FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2'";
$ris=mysqli_query($con, $sql);
$riga= mysqli_fetch_assoc($ris);
//echo "GIORNO $data1: temperatura massima ".$riga['max']."&deg;C<br>";
$temp_max=$riga['max'];
$sql="SELECT TIMESTAMP_LOCAL FROM METEO WHERE (TIMESTAMP_LOCAL between '$data1' and '$data2') and TEMP=$temp_max LIMIT 1";
//TEMP è un numero float es 25.10 o una stringa '25,10' se è una stringa devi mettere gli apici TEMP='$temp_max'
$ris=mysqli_query($con, $sql);
$riga= mysqli_fetch_assoc($ris);
$data_ora=$riga['TIMESTAMP_LOCAL'];
//se ti serve la data e l'ora e forse meglio perche potrest cercare nell'intevallo di più giorni
$gg_h=explode(" ",$data_ora);
echo "data ".$gg_h[0]." alle ".$gg_h[1]." h la temperatura massima &eacute; stata ".$temp_max." &deg;C";
?>
questo script però se nello stesso giorno hai due o più ore con temp massima ti ricava solo la prima ora, altrimenti con la seconda query si deve operara con un while ecc...
sappimi dire


p.s.
per le accentate e per caratteri speciali es ° usa &eacute; e &deg; eviti brutte visualizzazioni
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #34
credo che meglio di così non si possa fare... grazie ragazzi, siete MITICI !!!!!! penso che per il fatto di due o più orari con stessa temp non ci siano problemi di sorta! vi aggiornerò e sicuramente avrò bisogno di qualcos'altro, ma per ora "lo scheletro del codice" è fatto... mi devo solo metter giù e riportare i minimi e massimi di tutti, nonché fare un form di inserimento del giorno, così che sia possibile al visitatore del sito di poter interrogare il database a suo piaciemnto.
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #35
e se volessi ottenere i minimi e massimi, con relativi orari, di TEMPERATURA, UMIDITA', PRESSIONE E VENTO sfruttando una sola query? minimi e massimi GIA' FATTO... ma per i rispettivi orari sono in alto mare...
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 23 Mag 2017
  • #36
ti conviene cambiare le query : una per il minimo
PHP:
$sql="SELECT * FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2' ORDER BY TEMP LIMIT 1";
euna per il massimo
PHP:
$sql="SELECT * FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2' ORDER BY TEMP DESC LIMIT 1";
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #37
Ok capito, questi esempi sono per la colonna TEMP... e per gli altri (umidità, pressione, vento)?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 23 Mag 2017
  • #38
no con questi esempi estrai tutti i campi della tabella
PHP:
$sql="SELECT * FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2' ORDER BY TEMP LIMIT 1";
$ris=mysqli_query($con, $sql);
$riga_minimo = mysqli_fetch_assoc($ris);
var_dump($riga_minimo);
per recuperare solo un campo
PHP:
echo $riga_minimo['nome-del-campo'];
 
G

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
  • 23 Mag 2017
  • #39
ci ho capito molto poco...
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 23 Mag 2017
  • #40
devi fare pratica, sapere interrogare il database e estrarre i dati è fondamentale per un sito web dinamico
PHP:
<?php

require_once("config.php");
$con = mysqli_connect($server, $user, $pwd, $db);

$data1 = "2017-05-23 00:00";
$data2 = "2017-05-23 23:59";

$sql = "SELECT * FROM METEO WHERE TIMESTAMP_LOCAL between '$data1' and '$data2' ORDER BY TEMP DESC LIMIT 1";
$ris = mysqli_query($con, $sql);
$riga_massima = mysqli_fetch_assoc($ris);
$temp_max = $riga_massima['TEMP'];
$data_ora = $riga_massima['TIMESTAMP_LOCAL'];
$vento = $riga_massima['WINDIR_CODE'];
//se ti serve la data e l'ora e forse meglio perche potrest cercare nell'intevallo di più giorni
$gg_h = explode(" ", $data_ora);
echo "data " . $gg_h[0] . " alle " . $gg_h[1] . " h la temperatura massima &eacute; stata " . $temp_max . " &deg;C ";
echo "vento " . $vento;
 
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

N
[PHP] Estrarre singolo valore da array
  • nemesis82
  • 4 Dic 2018
  • PHP
Risposte
4
Visite
4K
PHP 7 Dic 2018
nemesis82
N
M
Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea'
  • malela
  • 20 Mar 2014
  • PHP
Risposte
6
Visite
8K
PHP 24 Mar 2014
malela
M
M
PHP/MySQL - Estrarre valori min e max di ogni gruppo
  • Max61
  • 10 Giu 2022
  • PHP
Risposte
5
Visite
2K
PHP 13 Giu 2022
Max61
M
C
[PHP] Estrarre da una classe i valori che mi interessano
  • condorex
  • 26 Nov 2019
  • PHP
Risposte
5
Visite
3K
PHP 27 Nov 2019
marino51
S
[PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo
  • samurai.sette
  • 9 Nov 2019
  • PHP
Risposte
11
Visite
3K
PHP 4 Ott 2023
samurai.sette
S
R
[PHP] Estrarre id utente loggato.?
  • rino2002
  • 1 Lug 2019
  • PHP
Risposte
4
Visite
3K
PHP 1 Lug 2019
rino2002
R
S
[PHP] Estrarre elementi array su più variabili
  • samurai.sette
  • 14 Mag 2019
  • PHP
Risposte
5
Visite
5K
PHP 16 Mag 2019
Max 1
S
[PHP] Estrarre dati tabella in diversi array
  • samurai.sette
  • 13 Mag 2019
  • PHP
Risposte
2
Visite
2K
PHP 14 Mag 2019
samurai.sette
S
estrarre titolo video facebook in php
  • trattorino
  • 6 Gen 2019
  • PHP
Risposte
0
Visite
1K
PHP 6 Gen 2019
trattorino
[PHP] sql estrarre in base all'ultima visita
  • trattorino
  • 22 Ott 2018
  • PHP
Risposte
4
Visite
1K
PHP 22 Ott 2018
trattorino
[PHP] Estrarre prossimi 4 lunedì
  • Jensen
  • 6 Set 2018
  • PHP
Risposte
4
Visite
2K
PHP 15 Set 2018
Jensen
[PHP] estrarre dati singoli
  • trattorino
  • 16 Giu 2018
  • PHP
Risposte
1
Visite
1K
PHP 17 Giu 2018
macus_adi
G
[PHP] estrarre data da timeline yyyy-dd-gg hh:mm:ss
  • giacomo9783
  • 12 Mag 2018
  • PHP
Risposte
4
Visite
3K
PHP 13 Mag 2018
Max 1
S
[PHP] Estrarre dati colonna in una stringa
  • samurai.sette
  • 13 Apr 2018
  • PHP
Risposte
6
Visite
3K
PHP 15 Apr 2018
samurai.sette
S
S
[PHP] estrarre dati sito web protetto con username e password
  • solari77
  • 5 Apr 2018
  • PHP
Risposte
13
Visite
5K
PHP 12 Apr 2018
macus_adi
[PHP] estrarre solo un determinato id da tanti con REGEXP O LIKE
  • Merlina3377
  • 2 Feb 2018
  • PHP
Risposte
1
Visite
2K
PHP 2 Feb 2018
Merlina3377
Estrarre Nome Utente jquery div php
  • trattorino
  • 3 Set 2017
  • PHP
Risposte
9
Visite
3K
PHP 4 Set 2017
trattorino
S
[PHP] estrarre le email da un elenco di url
  • stefano78
  • 8 Ago 2017
  • PHP
  • 2
Risposte
21
Visite
5K
PHP 11 Ago 2017
marino51
[PHP] estrarre tag da un testo
  • T4MAR4
  • 15 Lug 2017
  • PHP
Risposte
3
Visite
2K
PHP 16 Lug 2017
borgo italia
T
[PHP] Estrarre stringa
  • tigrhes salty
  • 2 Giu 2017
  • PHP
Risposte
3
Visite
2K
PHP 3 Giu 2017
tigrhes salty
T
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?