- Home
- Categorie
- Coding e Sistemistica
- PHP
- Attualmente ci sono online???
-
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
-
Dando per scontato che la query che hai scritto sia corretta:
<? $queryutenti= "SELECT username from utenti WHERE 1=1"; $risultato= mysql_query($queryutenti); echo ("**Attualmente ci sono online:**"); while ($row = mysql_fetch_array($risultato) ) echo $row['username'] . ", "; ?>
-
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
-
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.
-
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(*) 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...
-
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(*) 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...
-
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!!!
-
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)