[PHP] Selezionare dati in intervallo di tempo

samurai.sette

Utente Attivo
17 Dic 2015
235
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
47
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
47
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
235
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
47
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
235
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
47
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
235
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
235
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
47
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
235
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
47
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.046
150
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
47
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.046
150
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
235
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
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
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0

Discussioni simili