Pagine → 1 2
03/12/2007 21:23:04 e modificato da jammer il 03/12/2007 21:31:32
il gdrcd (lungi da me difenderlo eh, ma giusto per capire e per migliorare se possibile) ritira i nuovi messaggi in questo modo:
$MySql = "SELECT * FROM Chat WHERE Stanza = '".pars($Stanza)."' AND ID > ".$LastTime." AND DATE_ADD(Ora, INTERVAL 10 MINUTE) >= NOW()";
$MySql .= " ORDER BY ID DESC LIMIT 0, 20";
cioè, a seconda della stanza in cui si è, a seconda dell'ultimo ID del messaggio che l'utente ha visualizzato, lui prende i messaggi. Sono solo quelli nuovi no? cioè voglio dire, sempre per debellare la profonda ignoranza, in che altro modo si può affinare la ricerca? o.o
dopo di che, attraverso uno switch del campo "Tipo", formatta il testo in diversi modi. per poi postare DI SEGUITO a quelli vecchi con
parent.chattesto.document.write('<?= $newchat ?>');
nel file realmente visualizzato che mi pare sia testo.php O.o non si sono altri refresh , se non appunto il refresh.php che è di pochi kb. (parlo di extreme che ho sottomano)
sicuramente non sarà un sistema ottimale, ma non fa nulla di particolarmente pesante o sbaglio? O.o
04/12/2007 13:53:24 e modificato da jammer il 04/12/2007 13:55:01
non capisco perché dici che il php di gdrcd preleva "tutti" i messaggi entro 10 minuti.
quel interval nella query serve solo per il primo accesso nella stanza, dove la "tua" variabile lasttime è settata a zero. Quindi Lui ti prende tutti i messaggi di quella chat entro 10 minuti, e te li sputa sul video.
ma già dopo 10 secondi, al primo refresh, Lui ti ha memorizzato in sessione il tuo ultimo ID, cioè l'ultimo messaggio che hai visualizzato. A sto punto quel AND riferito al tempo di 10 minuti non penso sia nemmeno più necessario, perché si fa riferimento al $lasttime, che è aggiornato, e che a ogni refresh, nel caso ci siano stati nuovi messaggi, viene aggiornato nella tua **sessione**.
mi sembra che la procedura del gdrcd sia questa.
resta il fatto che se noi abbiamo uno script ajax che si preoccupa di tenere a mente l'ultimo messaggio visto , e periodicamente ogni tot secondi "chiede" al server "ci sono nuovi messaggi da dieci secondi fa, a partire da questo id?" XDDD è certamente meglio.
04/12/2007 17:30:19
a parte tutto questo xD
ho un altro problema e lo scrivo qui, una cosa che francamente non capisco visto che funzionava prima o_o
05/12/2007 00:53:36
il risultato della query è vuoto.
per sapere perché dovresti cercare di stampare a video le variabili, in modo da capire quale è sbagliata o non viene passata
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Celebrando 20 Anni di GDR-Online.com: un grazie di cuore!