who is online

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

who is online

Δημοσίευση από Khronos » 30 Ιούλ 2007 19:10

Γεια σας!

Θέλω να εμφανίζω ποιοί (όχι πόσοι) χρήστες είναι online αυτή τη στιγμή. Μπορεί καποιος να βοηθήσει?
Ευχαριστώ

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

who is online

Δημοσίευση από mrpc » 30 Ιούλ 2007 23:05

Ένας γρήγορος τρόπος είναι να φτιάξεις έναν πίνακα στη βάση με πεδία username και lastseen.
Σε κάθε load σελίδας, αν ο χρήστης είναι registered θα περνάει το username του και ένα timestamp (ή αν είναι ήδη σε αυτόν τον πίνακα, απλά θα κάνει update το timestamp), ενώ παράλληλα θα σβήνει ότι είναι παλιότερο από π.χ. 5 λεπτά.
Έτσι με ένα select έχεις τους χρήστες που έχουν εμφανιστεί τα τελευταία x λεπτά (που πρακτικά σημαίνει ότι είναι online αν ο χρόνος είναι μικρός).

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

who is online

Δημοσίευση από MaZz » 31 Ιούλ 2007 13:17

Δεν είναι αναγκαίο να κάνεις καινούριο πίνακα, απλά θα προσθέσεις μία στήλη στον πίνακα που αποθηκεύεις τους χρήστες (με alter table θα το πετύχεις αυτό) με τύπο δεδομένων DATETIME ή TIMESTAMP και σε κάθε σελίδα που θα επισκέπτεται ο χρήστης θα κάνεις update το column στην τρέχουσα ημερομηνία/ώρα - όπως είπε και ο mrpc -, και για να εμφανίσεις πόσοι είναι online θα κάνεις ένα query που θα παίρνει τις εγγραφές που έχουν σαν χρονική τιμή τα τελευταία 5 λεπτά ή όσα ορίσεις εσύ.
If nothing in the world can change our children will inherit nothing.

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

who is online

Δημοσίευση από Khronos » 31 Ιούλ 2007 18:45

Ευχαριστώ για τις απαντήσεις! Θα το δοκιμάσω κ θα σας πώ.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

who is online

Δημοσίευση από soteres2002 » 01 Αύγ 2007 23:59

mrpc έγραψε:Ένας γρήγορος τρόπος είναι να φτιάξεις έναν πίνακα στη βάση με πεδία username και lastseen.
Σε κάθε load σελίδας, αν ο χρήστης είναι registered θα περνάει το username του και ένα timestamp (ή αν είναι ήδη σε αυτόν τον πίνακα, απλά θα κάνει update το timestamp), ενώ παράλληλα θα σβήνει ότι είναι παλιότερο από π.χ. 5 λεπτά.
Έτσι με ένα select έχεις τους χρήστες που έχουν εμφανιστεί τα τελευταία x λεπτά (που πρακτικά σημαίνει ότι είναι online αν ο χρόνος είναι μικρός).
na prostheso pos tha itan kalo na ginetai auto reload mias selidas an exei kseperastei kapoios maximum xronos prosmonis stin selida kai den iparxei drastiriotita (dld anagnorisi drastiriotitas meso allon selidon). Akoma ki an to autoreload olokliris tis selidas einai problima gia sena, boreis na to kaneis meso enos inner frame. Me auton ton tropo tha exeis pio aksiopista apotelesmata.
Auto malista linei to problima oti nai men borei enas xristis na min emfanizei drastitriotita s mia selida i se alles p borei na anagnoristei (me loading this idias i allis selidas), alla na kseperasei px ta 5 lepta p anaferei o mrpc kai oi xristes na fainontai ligoteroi kata enan, eno stin pragmatikotita autos p einai stin ap ekso einai ontos sto site. Auto isxiei kai gia to poiioi xristes einai logged.

auti i texniki nomizo oti ginetai kai edo sto freestuff, xoris na to exo psaksei kai xoris na exo meletisei ton kodika tou phpbb.

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

who is online

Δημοσίευση από Khronos » 15 Αύγ 2007 19:06

Γειά σας, δοκίμασα αυτά που μου είπατε αλλά μπορώ να το κάνω να δουλέψει.
Μπορεί κάποιος να γράψει κώδικα ώστε να δω πως γίνεται?

Ευχαριστώ

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

who is online

Δημοσίευση από mrpc » 15 Αύγ 2007 20:09

Khronos έγραψε:Γειά σας, δοκίμασα αυτά που μου είπατε αλλά μπορώ να το κάνω να δουλέψει.
Μα... αφού μπορείς...

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

who is online

Δημοσίευση από mrpc » 15 Αύγ 2007 20:11

Δες αυτό.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες