Visualizzazione dei risultati da 1 a 8 su 8

Discussione: refresh e query ora..

  1. #1

    refresh e query ora..

    Ho creato una tagboard in php.
    Ora io ho a disposizione 2000 query l'ora.
    Un ora = 3600 sec
    Ipotizzando che a mia tagboard abbia un refresh ogni 30 sec avrei per ogni utente 120 query all'ora dovute solo alla visualizzazione dei messaggi della tagboard.
    Ora ipotizzando che ci siano 10 utenti le query diventerebbero 1200 e capirete che su 2000 totali per un sito basato interamente su php e mysql sono troppe.
    Ora volevo trovare qualche modo per far si che il refresh avvenga solo se la tag è stata veramente aggiornata.
    Solo che non saprei come fare...
    avevo pensato a qualcosa utilizzando la data dell'ultimo mess nella tag e la data dell'ultima visita, (ovviamente queste due info salvate su un txt altrimenti farei comunque la query )

    se qualcuno a qualche idea mi faccia sapere ciaaau

  2. #2
    nessuno ha qualche idea?

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Perdona l'ignoranza. Non so cosa sia una tagboard quindi magari la mia risposta sarà fuorviante. Ma per verificare se sono state apportate delle modifiche non potresti usare la funzione mysql_affected_rows()?
    Se non è avvenuto alcun cambiamento ti restituirà 0 e quindi non sarà necessario il refresh.

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Re: refresh e query ora..

    Originariamente inviato da LoRdCoStE
    Ho creato una tagboard in php.
    Ora io ho a disposizione 2000 query l'ora.
    Un ora = 3600 sec
    Ipotizzando che a mia tagboard abbia un refresh ogni 30 sec avrei per ogni utente 120 query all'ora dovute solo alla visualizzazione dei messaggi della tagboard.
    Ora ipotizzando che ci siano 10 utenti le query diventerebbero 1200 e capirete che su 2000 totali per un sito basato interamente su php e mysql sono troppe.
    Ora volevo trovare qualche modo per far si che il refresh avvenga solo se la tag è stata veramente aggiornata.
    Solo che non saprei come fare...
    avevo pensato a qualcosa utilizzando la data dell'ultimo mess nella tag e la data dell'ultima visita, (ovviamente queste due info salvate su un txt altrimenti farei comunque la query )

    se qualcuno a qualche idea mi faccia sapere ciaaau
    Non so se ho capito bene, però prova così:
    ogn volta che nella tagboard (credo sia una specie di quelle chat veloci nel sito, no?) viene aggiunto un messaggio, inserisci il timestamp su un file di testo. Ogni volta che la tagboard viene aggiornata scrivi sulla sessione dell'utente la data dell'ultimo messaggio della tagboard. Se le due date corrispondono allora non è stato inserito alcun messaggio e ti risparmi la query. Altrimenti...

  5. #5
    si ma se uso mysql_affected_rows devo fare una query, e tanto vale fare il refresh.. correggimi se sbaglio.
    Cmq una tagboard è uno script con cui i visitiatori possono lasciare dei brevi messaggi (un incocio tra una chate un guestbook).
    Cmq avevo pensato a qualcosa che tenesso conto degli ip; un file di testo dove metto l'ip del visitatore timestamp dell'ultima volta che il codice della tag è stato eseguito (quidni ha visto al tag) e il timestamp dell'ultimo messaggio.
    Ora per ogni ip potrei controllare se la data del suo ultimo refresh e precedente o successiva all'ultimo messaggio. Se è superiore non faccio il refresh altrimenti si.
    Magari dopo 15 min tolgo ip dal txt, non si sa mai, più persono con lo steso ip.
    Se qualcuno a qualche altra idea, con sessioni magari...

  6. #6
    ah oki, mi hai risposto un attimo prima del messaggio
    solo una cosa, come faccio ad assegnare una sessione ad un utente qualsiasi, io di solito le utilizzo dopo il login..
    faccio normalmente?
    session_start()
    $_SESSION['ultimo_msg']=
    $_SESSION['ultimo_refresh']=

    grazie mille

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    le sessioni sono indipendenti dai login.

    Ricordati di mettere un session_start() ad inizio dello script, PRIMA di qualunque altro output

  8. #8
    allora ho due variabili
    $last dove c'è il timestamp dell'ultima modifica delal tag
    $refresh dove c'è il timestamp del mio utimo refresh.

    ora se $last è maggiore $refresh devo aggiornare la tag.
    la tag sta dentro un iframe
    ora lo so che questo problema potrebbe essere trattato anche nella sezione html e anche in scripting, ma ormai siamo qua.
    Ora come posso fare in modo che l'iframe venga aggiornato solo in tale condizione?
    avevo pensato di mettere qualcosa del genere nella apgina all'interno dell'iframe:
    Codice PHP:
    if($last>$refresh)
    {
        echo 
    "<meta http-equiv=\"refresh\" content=\"10\">";
        
    $_SESSION['refresh']=time();

    ma nonf a il suo lavoro, in quanto il codice viene controllato solo se vine caricata la pagina, ma se la pagina viene caricata non mi serve fare il controllo, perchè a me serve che appunto non carichi la pagina se non necessario.
    Pensavo di effettuare questo controllo dalla pagina principale, quidni se il controllo da true l'iframe viene ricaricato altrimenit no...
    ora qualcuno sa come fare?
    ciaaaaaao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.