Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 26 su 26
  1. #21
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    Per il momento ho scritto solo questo:

    codice:
    <script type="text/javascript">
    function refresh_post(limit_post)
    { 
     var old_post;
     
     $.ajax({
       type: "POST",
       url: "system/div_refresh/index_post.php",
       data: "session_userid=$session_userid&limit="+limit_post,
       success: function(risul)
       {
       old_post = document.getElementById('refresh_post').innerHTML;
        document.getElementById('refresh_post').innerHTML = risul + old_post;
       }
     });
    }
    </script>
    Ma come vi dicevo i post vengono stampati di seguito... Forse sbaglio la logica del programma. Voi come scrivereste il programma?

  2. #22
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Guarda la soluzione penso sia piuttosto semplice, solo che se non conosco il codice della pagina nella quale hai inserito il JS ne che cosa restituisce index_post.php e nemmeno la struttura della tabella commenti nel database posso solo ipotizzare...

    Comunque, ecco come dovresti fare :

    Fase 1:
    l'utente accede alla pagina
    vengono visualizzati i commenti presenti in questo momento
    memorizzo in una variabile js (esempio: var ajLastComment = 12345678 il timestamp dell'ultimo commento che visualizzo.

    Fase 2: Aggoirnamento ajax
    richiedo alla pagina index_post.php i nuovi commenti, passando come parametro la variabile ajLastComment.

    Fase 3:
    index_post.php esegue una query sul db, con clausola WHERE 'DATA_COMMENTO' > ajLastComment
    index_post.php mi restituisce il risultato

    Fase 4:
    Se index_post.php restituisce dei commenti, li aggiungo e inserisco in ajLastComment il timestamp dell'ultimo di questi commenti.

    e cosi via...
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  3. #23
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    Ok questa soluzione mi sembra un ottimo punto di partenza, avevo fatto qualcosa di simile con php. Avevo salvato il time dell'ultimo commento in un db a questo punto tramite un file esterno caricavo ogni volte i commenti dal time al momento in questione e poi aggiornavo.

    Il problema sta nel fatto che mi sono complicato le cose, ho aggiunto la possibilità di commentare un post vecchio. Se un utente commenta un post vecchio il time di questo viene cambiato. Quindi questo sarà stampato in alto nella pagina ma rimarrà anche nella vecchia posizione... Non riesco a risolvere questo problema.

    Cmq index_post.php è un pagina che contiene la query al mio db e la stampa dei post e lunga tipo 2000 righe quindi non la posso postare

  4. #24
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Il time del commento dovrebbe stare nel database non in un file esterno. L tabella del database dovrebbe avere una struttura del tipo:

    id, comment, time, user, post_id

    così qunado esegui la query con clausola WHERE time ... hai come risposta solo i nuovi commenti.
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  5. #25
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    Si infatti il time stava nel db, la stampa era in un file estero

  6. #26
    Utente di HTML.it L'avatar di newlink
    Registrato dal
    Oct 2011
    Messaggi
    206
    La cosa perfetta sarebbe creare uno script così composto.
    Quando apro la pagina setto il time dell'ultimo post nel db e stampo tutti i post magari in un div che setto id="div_$id_post". (so che non è il modo corretto, è per fare un esempio)

    Poi richiamo un file esterno che controlla i time dei nuovi post. Scarico l'id del post e verifico se il div esiste già. Se non esiste stampo il nuovo div altrimenti aggiorno solo la sezione commenti di quel post.

    Poi risalvo il time nel db

    Sarebbe una cosa possibile??

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 © 2026 vBulletin Solutions, Inc. All rights reserved.