Dedalpaperone
Allora, in primis ringrazio entrambi. Ora:
- se facessi una cosa del genere aumenterebbe il valore anche nel visionare pagine secondarie. Potrei sì fare in modo che il valore venga aumentato solo alla pagina iniziale, ma ad esempio su gamesvillage mi è parso di capire che se si aggiorna la pagina le visite non aumentano, ciò succede solo se si esce e si rientra nella discussione. L'idea mia era quella, tuttavia questo è un elemento marginale;
- errore mio nella spiegazione: quello che volevo era dare al messaggio, oltre all'id univoco, anche il numero di posizione che ricopre nella discussione. Tuttavia anche questo non è indispensabile
- grazie mille; l'unico problema a riguardo che sto riscontrando è nel momento in cui creo la serie di link (per intenderci: forum > sezione > sottosezione > discussione, come in gv in alto) non è urgente e comunque vedrò di lavorarci meglio
- secondo il metodo di sydarex non saprei come inserire questo timeout, in effetti mi sono sempre chiesto come funzionino i processi che vanno a tempo, tipo browser game e simili. il metodo di browsersky mi sembra interessante: con questo metodo è l'utente stesso, non un'applicazione a tempo del server, a effettuare l'aggiornamento della tabella, giusto ? (spero)
- centra di nuovo il fattore tempo, la discussione dovrebbe ritornare nuovamente come 'da leggere' nel momento in cui è stato inserito un nuovo messaggio. Quindi penso andrebbero bene entrambi i metodi (se nel metodo di sydarex inserisco un campo relativo al tempo da confrontare di volta in volta; quello di shadowsky sembra complessino (per me) ma molto interessante)
punto finale: lentezza del server. Tenendo conto che uso Netsons, che spesso mi da problemini, credete che reggerà un tale susseguirsi di query ? Intendiamoci, il mio sito è rivolto a poche persone, di cui solo alcune di esse lo visiterebbero attivamente, tuttavia man mano le query aumentano. Che ne pensate ?
- Basta dare un valore temporale anche a quello,all'accesso salvi un cookie così:
Codice PHP:
setcookie("set_visit",time(),time()+3600);
L'ultimo parametro segna la durata del cookie, scaduta la quale il browser scarterà il cookie come "vecchio", in questo caso dura 1 ora (timestamp attuale + i secondi in un ora).
Se trovi settato il cookie non aggiungi la visita, e in più puoi usare questo cookie per avete il timestamp di accesso senza dover eseguire una query.
- Non lo salvi, lo calcoli: quando stampi i vari post, nello stesso ciclo ci aggiungi un contatore, quello puoi usarlo come id del messaggio. Se vuoi isolare poi quel messaggio esegui un "LIMIT #ID_DEL_CONTATORE# ORDER BY #ID_MESSAGGIO# DESC" e prendi solo il primo record che ti torna dalla query
- Non capisco quale possa essere il problema
- Esatto, ma non è "browsersky" ma "shadowsky"
- Quando ci sono nuovi messaggi cancelli tutti le visite relative a quella discussione nella tabella, in questo modo tutti ritorneranno a vederla come nuova
Anch'io uso netsons per gli esperimenti e sò com'è
Finchè la cosa è limitata basta e avanza altrimenti 30 euro l'anno e passa la paura
PS. Non è la quantità di query a inchiodare un server sono le connessioni a distruggerlo.
Se "accumuli" in modo intelligente tutte le query che devi fare in un unico "lancio" in questo modo:
Codice PHP:
QUERY 1
GO
QUERY 2
GO
QUERY 3
GO
Non c'è dubbio che maggiore è il numero e la complessità delle query maggiore sarà il tempo necessario e minori saranno le prestazioni.
Ma con una "costruzione" del genere aumenterai le performance almeno almeno del doppio, invece che fare:
Codice PHP:
mysql_query(QUERY_1);
mysql_query(QUERY_2);
mysql_query(QUERY_3);
mysql_query(QUERY_4);
mysql_query(QUERY_5);
mysql_query(QUERY_6);
mysql_query(QUERY_7);
Soprattuto se devi fare query one-way tipo aggiornamento,inserimento,cancellazione ecc.
Poi vabbè indicizza, limita le chiamate, CHIUDI LE CONNESSIONI,... ecc ecc