• User •

    Attualmente ci sono online???

    Salve ragazzi,
    ho un problema che per voi esperti sarà sicuramente roba da nulla!!
    Vorrei creare uno script che mi dica in un determinato istante chi è collegato al mio forum, tipo quello che si vede nei forum phpbb; "Attualmente ci sono online: Tizio,caio e semprogno.........
    In pratica uno scritp che prenda questi dati dal mio db!!
    Io ho creato la seguente select:
    <?
    $queryutenti= "SELECT $username from utenti WHERE 1=1";
    $risultato= mysql_query($queryutenti);
    echo ("Attualmente ci sono online:$risultato");
    ?>
    Purtroppo nn funziona!!!In pratica a me servirebbe che mi stampasse a video la $username!!
    Vi ringrazio anticipatamente!!!
    Ciao cia


  • User Attivo •

    Dando per scontato che la query che hai scritto sia corretta:

    <? 
    $queryutenti= "SELECT username from utenti WHERE 1=1"; 
    $risultato= mysql_query&#40;$queryutenti&#41;; 
    echo &#40;"**Attualmente ci sono online:**"&#41;; 
    while &#40;$row = mysql_fetch_array&#40;$risultato&#41; &#41;
      echo $row&#91;'username'&#93; . ", "; 
    ?> 
    

  • User •

    Ciao, innanzittutto ti volevo ringraziare per la tua risposta e ti volevo dire che funziona!!
    Avrei bisogno di qlc chiarimento di come sei arrivata a quella conclusione ma immagino che questo è il luogo meno adatto e tralascio tutto ciò!!
    Un piccolo appunto ti volevo fare:
    in pratica al momento lui mi prende tutti gli utenti del db mentre io vorrei che lui mi stampi solo gli utenti collegati in quel momento!!
    Spero sia possibile farlo e grazie!!!
    Ciao ciao


  • User Attivo •

    La risposta arriva direttamente dal [url=http://it.php.net/manual/it/ref.mysql.php]manuale php

    Per quanto riguarda gli utenti connessi dipende da come é fatta la struttura della tabella utenti.
    Adesso nella query c'é scritto WHERE 1=1 che vuol dire "tutti". Dovrai mettere qualcosa tipo **WHERE utente_in_linea = '1' **ma questo lo puoi sapere solo tu in base ai campi della struttura.


  • User •

    Allora... Crea una nuovo campo nella tabella utenti user_online,
    Quando si logga poni a 1 quel campo e quando si slogga a 0.

    Poi fai una query del tipo

    SELECT count&#40;*&#41; as totale_utenti_inlinea FROM tabella_utenti WHERE user_online=1
    

    Ricordati comunque di gestire il login e il logout (non solo nel logout, ma di determinare anche un tempo massimo di permanenza sul sito e scaduto quello modificare automaticamente il campo user_online)

    Questa è la procedura terra terra... 😄


  • User •

    Allora... Crea una nuovo campo nella tabella utenti user_online,
    Quando si logga poni a 1 quel campo e quando si slogga a 0.

    Poi fai una query del tipo

    SELECT count&#40;*&#41; as totale_utenti_inlinea FROM tabella_utenti WHERE user_online=1
    

    Ricordati comunque di gestire il login e il logout (non solo nel logout, ma di determinare anche un tempo massimo di permanenza sul sito e scaduto quello modificare automaticamente il campo user_online)

    Questa è la procedura terra terra... 😄


  • User •

    Grazie chalda, questo che mi hai detto di fare, l'ho fatto e funziona tutto!!!
    In pratica a me ora compare:
    Attualmente ci sono online, 8 utenti, ed elenca i nomi degli utenti, tizio, caio e semprogno!!
    L'unico problema che forse dovrei trovare il modo per dirgli che gli utenti dovevano essere collegati a una specifica pagina!! Io al momento nella tabella utenti ho la riga "online" tipologia "enum(si,no)", null, predefinito = no!!!
    Questa riga mi dice se l'utente "tizio" è online si o no, ma nn se è collegato in quell'istante in una determinata pagina!!!
    Spero di essere stato chiaro e di aver reso l'idea del problema!!!


  • User •

    Prego! 🙂
    Beh, allora metti qualcosa che indica la specifica pagina in user_online, lasciando sempre 0 come offline.
    Per esempio potresti mettere il link della pagina, il nome del file, l'id di qualche cosa, ecc.
    Poi ti conviene mettere (se gia non l'hai) un campo tempo_sessione, aggiornarlo ad ogni pagina e fare un controllo anche li (tipo: se è 10 minuti che è fermo sulla stessa pagina, consideralo offline)