Mi chiedevo come attivare una notifica se un nuovo record è inserito in un database, utilizzando PHP e MySQL.Notifica di aggiornamento in tempo reale sulle modifiche del database MYSQL PHP
risposta
MySQL ora dispone di trigger e stored procedure, ma non credo che abbiano alcun modo di notificare un processo esterno, quindi per quanto ne so non è possibile. Dovresti eseguire il polling del database ogni secondo circa per cercare nuovi record.
Anche se lo fosse, questo presuppone che il processo PHP sia di lunga durata, in modo che possa permettersi di rimanere in attesa di un record. Dato che la maggior parte di PHP viene utilizzata per i siti Web in cui il codice viene eseguito e quindi esce più rapidamente possibile, non è chiaro se sia compatibile con ciò che si ha.
La cosa più semplice è probabilmente eseguire il polling del DB ogni pochi secondi e verificare se sono stati inseriti nuovi record. A causa della cache di query nel DB questo non dovrebbe influire sostanzialmente sulle prestazioni del DB.
Se tutte le modifiche al database sono eseguite da PHP, creerei una funzione wrapper per mysql_query e se il tipo di query fosse INSERT, REPLACE, UPDATE o DELETE, chiamerei una funzione per inviare la rispettiva email.
EDIT: Ho dimenticato di dire, ma si potrebbe anche fare qualcosa di simile al seguente:
if (mysql_affected_rows($this->connection) > 0)
{
// mail(...)
}
Un giorno mi chiedo in MySQL forum se evento come in Firebird o Interbase esiste in MySQL e vedo che la risposta a qualcuno Si (io non sono davvero sicuro)
controllo questo: http://forums.mysql.com/read.php?84,3629,175177#msg-175177
questo può essere fatto in modo relativamente semplice utilizzando stored procedure e trigger. Ho creato una schermata 'Live View' che ha un display a scorrimento che viene aggiornato con nuovi eventi dalla mia tabella degli eventi. Può essere un po 'complicato, ma una volta che corre è veloce.
È possibile creare un trigger che viene eseguito quando si verifica un aggiornamento. È possibile eseguire/notificare un processo esterno utilizzando una UDF (funzione definita dall'utente). Non ci sono metodi incorporati per farlo, quindi è il caso di caricare un plugin UDF che lo farà per te.
Google per "mysql udf sys_exec" o "mysql udf ipc".
- 1. php shell_exec con aggiornamento in tempo reale
- 2. Monitoraggio MySQL in tempo reale
- 3. chat in tempo reale con notifica push
- 4. Come eseguire modifiche simultanee in tempo reale?
- 5. PHP: sistema di notifica in tempo reale che supporta tutti i browser e i dispositivi
- 6. Aggiornamento dell'interfaccia utente in tempo reale
- 7. Mysql e PHP - Aggiornamento del database da un altro server
- 8. Aggiornamento di App in tempo reale per notifiche push
- 9. come migrare i dati mysql in ElasticSearch in tempo reale
- 10. Notifica in tempo reale dal web server ai gavoni del cliente
- 11. Editor di testo in Windows con aggiornamento in tempo reale?
- 12. Ricevere notifiche sulle modifiche del database: è possibile guardare le voci in riak?
- 13. Dimensione del database. PHP - MySQL
- 14. aggiornamento variabile javascript con ajax in tempo reale
- 15. monitoraggio per modifiche nei file in tempo reale
- 16. Come eliminare dal database in tempo reale di Firebase?
- 17. tempo utente più grande del tempo reale
- 18. Aggiornamento del database con modifiche apportate a DataTable ... confusione
- 19. Chiamata sleep in tempo reale() in tempo reale?
- 20. Notifiche push in tempo reale con Firebase
- 21. php, mysql - Troppe connessioni all'errore del database
- 22. Caratteri stranieri del database MySQL PHP
- 23. Linting in tempo reale del codice C
- 24. Progettazione del sistema di elaborazione analitica in tempo reale
- 25. Come funzionano gli aggiornamenti in tempo reale?
- 26. Sincronizzazione in tempo reale dei dati del database su tutti i client
- 27. altera più database mysql contemporaneamente (modifiche al database SAAS)
- 28. Usa PHP + jQuery AJAX per controllare il database MySQL per le modifiche e caricare le modifiche?
- 29. Modifiche in tempo reale a Google Document/Foglio di calcolo/Presentazione
- 30. Come recuperare google analytics activeUsers in tempo reale in php?
Apparentemente è possibile, ma con qualche tipo di componente aggiuntivo: http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-22-5-1-10 –