Salve, vorrei visualizzare il valore massimo di temperatura giornaliero contenuto nel database, solo che non riesco a capire se è possibile farlo. Se si potreste aiutarmi?grazie
Salve, vorrei visualizzare il valore massimo di temperatura giornaliero contenuto nel database, solo che non riesco a capire se è possibile farlo. Se si potreste aiutarmi?grazie
utilizza la funzione MAX(campo) nella SELECT e dove c'è scritto "campo" ci metti il nome dell'attributo
devi fare una WHERE che va in base al giorno, ad esempio WHERE DAY(campo)='$giorno';
Ultima modifica di paninilista2016 : 16-05-2017 alle ore 20.14.18
?? nessuno sa come risolvere?
Devi fare come detto da paninilista2016. Se non ti va riporta i codici, altrimenti è impossibile dirti cosa sbagli.
Ciao!
regolamento altervista_______________ regolamento forum
ad esempio questo SELECT Max(Temperatra) FROM Tabella WHERE (Data=Qualcosa);
come dovrei usarlo avendo la seguente tabella?
http://oi65.tinypic.com/357kl8i.jpg
Occhio a scrivere bene "temperatura".Codice:SELECT MAX(temperatura) FROM `tabella` WHERE DATE(data) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
Ciao!
Ultima modifica di alemoppo : 17-05-2017 alle ore 18.38.38
regolamento altervista_______________ regolamento forum
grazie per la dritta, usando questo codice nella seguente pagina php rimane bianca perchè? sbaglio qualcosa?
<?php
$host = "www.......altervista.org";
$database = "my_db";
$password = "****";
$link = mysql_connect($host, $database, $password);
if (!$link)
{
die('non connesso : ' . mysql_error());
}
// effettuo la connessione al database mysql
$db_selected = mysql_select_db("my_db", $link);
if (!$db_selected)
{
die ('Non è grave; possibile connettersi al database : ' . mysql_error());
}
$sql = "SELECT MAX(temperatura) FROM `meteo` WHERE DATE(data) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)";
$query = mysql_query($sql) or die("Errore nella query: ".mysql_query());
while($r = mysql_fetch_array($query)) {
echo $r['temperatura'];
}
?>
Ultima modifica di peppejfc : 17-05-2017 alle ore 22.11.06 Motivo: -password
Stai recuperando MAX(temperatura) mentre poi cerchi di stampare temperatura: ovvio che non funziona!
Occhio che la variabile che hai chiamato $query non è una query, ma un record set o result...Codice PHP:
while($r = mysql_fetch_array($query)) {
echo $r['MAX(temperatura)'];
}
Aggiungi
all'inizio della pagina, e usa un var_dump all'interno del ciclo while:Codice PHP:
<?php
error_reporting(E_ALL);
e riporta l'output.Codice PHP:
while($r = mysql_fetch_array($query)) {
//echo $r['MAX(temperatura)'];
var_dump($r);
}
Questo indica che il record set è vuoto. Può darsi che nella tabella non ci siano informazioni relative alla data richiesta, o altre situazioni analoghe. In ogni caso, il codice è corretto.array(2) {
[0]=> NULL
["MAX(temperatura)"]=> NULL
}
Appunto, tutti i dati sono relativi all'11 maggio, non ce ne sono di relativi al 18 maggio (che sono quelli che stai cercando di selezionare).
Il problema è la codifica "data": dovrebbe avere un trattino tra il giorno, mese e anno, cioè così: 2017-05-18 16:00:00. Nell'immagine che hai mostrato non ci sono i trattini e l'ordine dei giorni/mesi non è standard. Come salvi le date?
Ciao!
regolamento altervista_______________ regolamento forum
Ultima modifica di peppejfc : 18-05-2017 alle ore 16.09.48
Sì, proprio in quell'ordine. A me funziona. Addirittura ho provato a fare un campo di tipo "stringa" e non "timestamp" e funziona ugualmente.
Ciao!
regolamento altervista_______________ regolamento forum