[PHP] Selezionare dati in intervallo di tempo

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao a tutti. Vorrei chiedervi un consiglio.
Da una tabella MySql dovrei selezionare tutti i dati compresi in un intervallo di tempo ed ho sempre fatto in questo modo:
PHP:
SELECT * FROM tabella WHERE TIME(orario) BETWEEN '12:00:00' AND '12:59:59'
Ora mi trovo a lavorare con una tabella che riceve dati in continuazione (mediamente ogni 15 minuti) e vorrei selezionare i dati dell'ultima ora (ad esempio tra le 17:00:00 e 17:59:59).
Secondo voi come li posso selezionare dato che riceve dati in continuazione?
Ciao, grazie mille.
 

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
Scusa ma i dati dell ultim ora li richiami tu con un pulsante o ti serve in automatico?
comunque ricavi i due orari cosi:
$t=date("h:i");$t1=date("H:i",time()-3600);
in tal modo la query estrarra' i dati between $t1 e $t, cioe l ora attuale meno un ora.
 
Ultima modifica:

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
Chiaramente la selezione attraverso query risulta essere piu elegante ma che dipenda comunque dal tipo di dati che si sta elaborando. Concordo con te Marino :)
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao a tutti e grazie mille per l'aiuto.
Per quanto riguarda il recupero dei dati, questi non li richiamo con un pulsante ma deve avvenire in automatico.
Vi spiego esattamente cosa devo fare.
Come ho scritto nel mio primo post la mia tabella Mysql riceve in continuazione dati (ogni 10 - 15 minuti); nell'eventualità ci fosse qualche valore che supera un "valore limite" mi deve arrivare un SMS di allarme. Quindi ho pensato di richiamare dalla tabella soltanto i valori dell'ultima ora in modo tale da evitare la possibilità di ricevere tanti SMS uno dietro l'altro.
Questa era la mia idea. A questo punto vi chiedo: cosa ne pensate?
Ciao, grazie mille.
 

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
Ciao. Controlla allora solo il valore che supera un certo limite, in tal caso ti fai arrivare l' SMS no? Cioe al di la dell ultim ora, non appena un valora anomalo viene inserito, ti arriva la notifica
 
Ultima modifica:

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao PeterRay.
Senza ombra di dubbio la tua soluzione è quella ideale in quanto non appena un valore anomalo viene inserito nella tabella mi arriva l'SMS e posso subito andare a visualizzare la tabella.
Però mi sono posto una domanda.
Facciamo un ipotesi. Il valore supera il "valore limite" e mi arriva l'SMS; dopo 10-15 minuti il valore supera ancora il "valore limite" e mi arriva un secondo SMS; dopo altri 10-15 minuti il valore è ancora superiore al "valore limite" e mi arriva un terzo SMS.
Quindi in questo modo mi possono arrivare tanti SMS, uno dietro l'altro; nella soluzione che avevo pensato io mi può arrivare al massimo un SMS ogni ora con scritto a che ora si sono verificati i "problemi".
Sono molto combattuto su quale soluzione adottare...
Ciao
 

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
ok allora se il problema e' la quantita' degli sms perche il valore limite magari viene superato spesso, fai semplicemente un controllo ogni ora che ti notifica tutti i record con i valori in eccesso.
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao PeterRey.
Mi sto convincendo sempre più a fare un controllo della tabella ogni ora (mi sembra la soluzione più adatta).
Ma adesso mi sorge un'altra domanda: come faccio a far eseguire lo script di controllo della tabella in maniera automatica?
Spero di non aver sbagliato a non aver aperto un altro post...
Ciao.
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao ragazzi.Grazie mille.Un forum migliore di questo non esiste sul web.Grazie a voi ho imparato un sacco di cose!!! Ciao.
 

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
Possiamo realizzare anche un programmino con php e sql bypassando la giusta soluzione di Borgo se ti va fammi sapere che ce lo buttiamo giu. :)
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao PeterRay. Scusa se non ho risposto subito ma nonostante il caldo ho alcuni lavori da finire.
Veniamo alla tua domanda.
Ho acquistato un dominio su Aruba e tra le loro guide spiegano anche come inviare SMS. Ti riporto lo script.
Configurazione della libreria:
PHP:
<?php
define('SDK_HOSTNAME','https://adminsms.aruba.it');
define('SDK_USERNAME','your_Aruba_login');
define('SDK_PASSWORD','your_Aruba_password');
define('SDK_DEFAULT_PORT',80);
define('SDK_PROXY','');
define('SDK_PROXY_PORT',8080);
?>
Invio SMS:
PHP:
require('../sendsms.php');
$sms = new Aruba_SMS();
$sms->sms_type = SMSTYPE_ALTA;
$sms->add_recipient('+393479057982');
$sms->add_recipient('+393479876543');
$sms->message = 'hello world!';;
$sms->sender = 'test';
$sms->set_immediate(); // or sms->set_scheduled_delivery($unix_timestamp)
$sms->order_id = '999FFF111';
echo 'About to send a message '.$sms->count_smss().' SMSs long ';
echo 'to '.$sms->count_recipients().' recipients </br>';
if ($sms->validate()) {
  $res = $sms->send();
  if ($res['ok']) {
    echo $res['sentsmss'].' SMS sent, order id is '.$res['order_id'].' </br>';
  } else {
    echo 'Error sending SMS: '.$sms->problem().' </br>';
  }
} else {
    echo 'invalid SMS: '.$sms->problem().' </br>';
}
Ciao.
 

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
Lascia stare la guida chiedevo solamente. La mia idea era che potresti creare una tabella con id e ora chiamata ad esempio "controllo". Ad ogni accesso alla home page da parte tua o degli utenti fai una query che verifica l ora della tabella che inizialmente imposti tu ad esempio alle 10:00.se la differenza tra l'ora in tabella e l ora attuale é minore di uno non fai nnte altrimenti esegui lo script di controllo inviando SMS o quant' altro se necessario e aggiornando l ora nella tabella controllo con un update e così via. Tutto ciò senza consultare Aruba.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
se però il controllo deve essere continuo il metodo di peterrey obbliga a richiamare lo script, cioè accedere al sito, mentre col cornjob se vai in vacanza e il sito non viene richiamato ad ogni ora il controllo viene fatto comunque (es ogni ora o altro intervallo desiderato) e se necessario invia l'sms e/o registrando i dati in una tabella
 

PeterRey

Nuovo Utente
9 Lug 2017
13
0
1
44
E chiaro però se non c'è nessun accesso in un ora ad esempio facciamo un controllo inutile invece se ci sono accessi c'è anche la possibilità che si inseriscono valori per i quali sarebbe necessario l avviso. È un opzione come un altra concordo ugualmente.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
si, tutto dipende dal tipo di controllo che devi effettuare, a titolo di esempio
devi controllale i dati di una caldaia e per sicurezza pressione massima 5 bar
con il cronjob uno script viene richiamato ogni 10 min
se pressione minore di 5 bar, registra pressione temperatura e flusso del fluido e evidentemente data e ora
se la pressione supera i 5 bar, oltre a registrare, ti invia un sms di avviso indipendentemente dall'accesso al sito
se ti arriva l'sms avvisi la manutenzione, poi con calma vai a vederti gli ultimi dati per cercare di capire il perchè
come detto dipende dal tipo di controllo.
se il controllo può essere discontinuo è sufficiente che il controllo avvenga solo al momento a cui accedi, a quel punto è anche inutile l'sms
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao a tutti, grazie per questa bella discussione.
Mi permetto di dire che Borgo Italia ha centrato in pieno il mio intento. L'importanza dell'SMS sta nel fatto che in questo modo posso tranquillamente occuparmi di altro e non sono obbligato a verificare i dati della tabella di persona.
Se in un giorno non mi arriva nessun SMS vorrà dire che i dati presenti nella tabella non hanno mai superato il "valore limite"; al contrario, appena mi arriva un SMS andrò subito a controllarli e rendermi subito conto di un eventuale problema.
Ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] selezionare dati da db e fare confronti PHP 0
M Tabella PHP con sorgente dati csv: selezionare le riche e compilare Form eMail PHP 1
M [PHP] Selezionare immagini directory non presenti in db PHP 11
S [PHP] selezionare colonna tabella utilizzando un array PHP 1
S [PHP] Selezionare i campi non in comune con le altre colonne della tabella PHP 4
L [PHP] CHECKBOX DA SELEZIONARE IN UNA TABELLA PHP 4
S [PHP] selezionare colonne in comune con un altra tabella PHP 5
G [PHP] Selezionare OGGI anno precedente per query sql PHP 2
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
gandalf1959 Selezionare un intervallo tra due date, php e mysql PHP 2
L [PHP] selezionare righe di una tabella con le checkbox e cancellarle PHP 2
S [PHP] Selezionare ultimo campo ed escludere doppioni PHP 16
S [PHP] Selezionare tutte le colonne meno due PHP 6
L [php e mysql] selezionare sia i selezionati e i non selezionati PHP 1
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1

Discussioni simili