Come fare il refresh di una dashboard quando un nuovo record viene inserito in una tabella

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
Giovannino
Messaggi: 116
Iscritto il: 06 ott 2014, 08:56

Come fare il refresh di una dashboard quando un nuovo record viene inserito in una tabella

Messaggio da Giovannino » 11 mag 2018, 11:02

Ciao a tutti,
ho un problema con un dashboard che attualmente viene refreshato ogni 2 secondi in modo da avere i dati aggiornati ...in modalità.... on line.
Il problema è che è una cosa orribile vedere il video in continuo lampeggio e gli utenti si lamentano.
So che qualcuno in gamba usando jquery o ajax riesce a fare in modo che il refresh avvenga solo quando un nuovo record viene inserito nel db.
Purtroppo non ho conoscenze tecniche così sofisticate ma mi piacerebbe levare il lampeggiamento in qualche modo...
Qualcuno riesce a darmi qualche suggerimento e magari qualche esempio ?

Video del dashbord ---> https://youtu.be/1-1B-gQCTVc

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: Come fare il refresh di una dashboard quando un nuovo record viene inserito in una tabella

Messaggio da rino » 13 mag 2018, 14:30

Effettivamentre strano che non ti abbiano già impiccato. Una roba del genere è illegale :shock: perchè crea seri problemi agli operatori. Meno male che ti vogliono bene. ;)

Detto questo si tratta di realizzare un prodotto totalmente diverso dove all interno della APP si realizza un loop di lettura sul server tramite ajax e con javascrip si aggiornano solo le DIV (semplifico) con i dati . In un certo senso cià che accade quando lavori con delle selezioni interconnesse e cmabiano una cambiano i dati delle altre, solo che in questo caso l'evento origine è il tempo e non la scelta utente.

In SC lo puoi realizzare partendo da una APP blank . Il come ..... bisogna memttersi su e farlo se non trovi qualcosa di già fatto e modificabile.
Credo che negli esempi WEBSERVICE tu possa trovare un facile modo per risolvere la questione spezzando in due il problema.
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Giovannino
Messaggi: 116
Iscritto il: 06 ott 2014, 08:56

Re: Come fare il refresh di una dashboard quando un nuovo record viene inserito in una tabella

Messaggio da Giovannino » 16 mag 2018, 10:53

Ciao Rino,
grazie della rispo... In effetti sono pending ma per fortuna senza il cappio alla gola...;-)
Io ho provato una cosa del genere
Ho provato a creare una Blank app che fa questo qui sotto e poi ho messo un widget addizionale che la richiama con refresh = 1 secondo
Per i tre widget che lampeggiano ho tolto il refresh in modo da refresharli solo quando un nuovo inserimento viene fatto nel db .
Il problema (messo che possa funzionare come idea) è che sc_redir mi fa vedere nel widget aggiunto tutto il container... (un macello !)

$sql_results = 'SELECT mytimestamp FROM tubes WHERE mytimestamp > DATE_SUB(NOW(), INTERVAL 10 SECOND)' ;
sc_select(dataset, $sql_results);
$timefound = {dataset} ;

if (false == {dataset})
{
// Error while accessing database
}
elseif ({dataset}->EOF)
{
ECHO " NO NEW RECORDS INSERTED " . $timefound ." <br>";

}
else
{
ECHO " NEW RECORDS FOUND " . $timefound ." <br>";

sc_redir(container_test); //refresh of container
}

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: Come fare il refresh di una dashboard quando un nuovo record viene inserito in una tabella

Messaggio da rino » 17 mag 2018, 09:43

scuso se sono sbrigativo ma :
1- devi distinguere cio che fasi sul server da cio che fai sul client.
le istruzioni sql sono su server e per eseguirle devi chamarle o dal server o dal client

il disagio del refresc è dovuo al fatto che rinfrasca tutto invece ti devi rinfrescare solo un nodo DOM.
fatto un javascript ( un metodo dentro la grid ) e da questo esegui un ajax per rinnovare solo la specifica DIV . la Div la identifichi esplorando la grid dal browser.
se cerchi le Jquery risolvono il problema e le hai disponibili in SC , le usa .

usando 'javascript refresh div' come ricerca su google troverai materiale interessante .
adesso che mi hai provocato modifichero una mia grigia per fare la stessa cosa , l idea mi piace , non so quando , una volta fatta ti potro dare la soluzione pratica .

presa cosi a caso tra gli elenchi di google ':https://stackoverflow.com/questions/338 ... le_rich_qa'

Ps su amazon vendono anche dei collari anti strozzemento . a me sono serviti :D
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti