Gilbert Skrevet 20. oktober 2003 Del Skrevet 20. oktober 2003 har u en løsning på en "pålogget nå" -liste? man logger seg på via sessions, og ønsker å vite hvem andre som er logget inn. php/mysql Lenke til kommentar
Torbjørn Skrevet 20. oktober 2003 Del Skrevet 20. oktober 2003 legg inn rad i mysql tabell med tidsupnkt og brukernavn hver gang noen logger seg på eller bruker sidene. Lenke til kommentar
Gilbert Skrevet 20. oktober 2003 Forfatter Del Skrevet 20. oktober 2003 kult... har en som heter "sistinnlogget", men da må man frem med en hel del /3600 -regnestykker for å regne det ut? hvordan gjør man det i praksis..? et spørmål til; du svarte på en annen tråd om å vise dato "slik jeg vil ha det", og henviste til mysql.com. sliter litt med å finne ut hvordan det gjøres. har lyst til å vise kun dato måned og år. <?php echo mysql_result($result,0,"sistinnlogget"); ?> viser 2003.12.12 12:12 Lenke til kommentar
Torbjørn Skrevet 20. oktober 2003 Del Skrevet 20. oktober 2003 kort og gæli, gitt en tabell 'online' med brukernavn eller displaynavn og dato (sistinnlogget om jeg forsto deg rett) 1) oppdatere en "sist brukt"-sak: "replace into online set user='$bruker',tid=Now()" 2) hente ut ønsket dato: http://www.mysql.com/doc/en/Date_and_time_..._functions.html (søk etter date_format) $result = mysql_query("select date_format(sistinnlogget,'%e/%c %Y') as sistinnlogget from online"); Lenke til kommentar
Gilbert Skrevet 20. oktober 2003 Forfatter Del Skrevet 20. oktober 2003 oppdateringen av tiden er forsåvidt grei, men vil ikke dette kun vise når den aktuelle personen var pålogget sist? Lenke til kommentar
Torbjørn Skrevet 20. oktober 2003 Del Skrevet 20. oktober 2003 "select [...] order by dato desc limit 1" eller... "select date_format( max(dato) , 'datoformat' ) from online" ...tar seg av det den siste er kanskje best. Lenke til kommentar
[kami] Skrevet 22. oktober 2003 Del Skrevet 22. oktober 2003 Når det gjelder å hente ut de som er aktive i fra en mysql database så bør ikke det by på store problemer. 3600 regnestykker er ingen ting! Har selv kjørt ganske heftige select's, joinet flere tabeller med godt over 200.000 poster i hver. Alle disse ble utført på under 0.1 sekunder. Så datamaskinen kan stå å regne som bare det Lenke til kommentar
Ueland Skrevet 22. oktober 2003 Del Skrevet 22. oktober 2003 Denne koden bør gi alle de som har logget seg inn de siste 5 minuttene litt publisitet Det viser hvertfall hvordan det gjøres. "SELECT brukernavn FROM tabell WHERE tidspunkt = (now()+300)" Lenke til kommentar
Gilbert Skrevet 23. oktober 2003 Forfatter Del Skrevet 23. oktober 2003 $result = mysql_query("SELECT brukernavn FROM brukere WHERE sistinnlogget = (now()+300)"); echo $result; ...blir til... Resource id #3 ...og da schønner jeg iiiingen ting igjen... Lenke til kommentar
Torbjørn Skrevet 23. oktober 2003 Del Skrevet 23. oktober 2003 dette er ganske basic stuff, det handler om hvordan man henter ut resultater fra mysql med php, jeg vil anbefale deg å se under mysql seksjonen på www.php.net, der står det mange bra eksempler. eller ta en titt her så blir alt mye lettere for deg å forstå. Lenke til kommentar
Gilbert Skrevet 29. oktober 2003 Forfatter Del Skrevet 29. oktober 2003 har kommet frem med dette forsøket: function online() { $query = "SELECT brukernavn FROM brukere WHERE sistinnlogget = (now()+300)"; $result = mysql_query($query); $number = mysql_num_rows($result); if ($number == 0) { echo "det er ingen pålogget akkurat nå"; } else { echo "noen er pålogget"; } } problemet er at det aldri er noen pålogget. gir meg ikke før jeg får det til Lenke til kommentar
Torbjørn Skrevet 29. oktober 2003 Del Skrevet 29. oktober 2003 pass på å oppdatere sistinnlogget i databasen for hvert page hit Lenke til kommentar
Gilbert Skrevet 30. oktober 2003 Forfatter Del Skrevet 30. oktober 2003 mysql_query("UPDATE brukere SET sistinnlogget=now() WHERE id='$id'"); fungerer helt greit når man logger inn. via phpmyadmin ser man at sistinnlogget er oppdatert. *tilnærmet fortvilet* Lenke til kommentar
Torbjørn Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 jeg ville endret: "SELECT brukernavn FROM brukere WHERE sistinnlogget = (now()+300)"; til "SELECT brukernavn FROM brukere WHERE sistinnlogget > (now()- interval 5 minute)"; Lenke til kommentar
Gilbert Skrevet 31. oktober 2003 Forfatter Del Skrevet 31. oktober 2003 perfekt =D går det ann å legge (now()- interval 5 minute) inn i en variabel? skal brukes til if ($venn = $brukernavn && $tid = now()- interval 5 minute) Lenke til kommentar
Torbjørn Skrevet 3. november 2003 Del Skrevet 3. november 2003 javisst, det burde gå fint. men husk på at dette er mysql funksjoner og ikke php funksjoner. ikke trekk mysql spørringen ut i en if-setning i php, det blir bare tull. da er det bedre å regne om til epoch tid, unix_timestamp(dato_kolonne) (mysqlfunksjon) og pass på å ha 2 "="-tegn, if($venn == $brukernavn [...] ) Lenke til kommentar
Gilbert Skrevet 8. november 2003 Forfatter Del Skrevet 8. november 2003 javisst, det burde gå fint. Så braaa!! $tidB = mysql_result($result,0,"sistinnlogget"); $tidA = unix_timestamp($tidB) (- interval 15 minute) if ($tidA == now()) { Ja det er hjemmelaget Ja jeg er stolt av det Nei det funker ikke... har garantert gjort noe galt på unix_timestamp, var innom manualen på mysql.com men synes ikke den var utfyllende... Lenke til kommentar
Torbjørn Skrevet 8. november 2003 Del Skrevet 8. november 2003 hva ønsker du egentlig å gjøre?? Lenke til kommentar
Gilbert Skrevet 8. november 2003 Forfatter Del Skrevet 8. november 2003 fjartan: går det ann å legge (now()- interval 5 minute) inn i en variabel? torbjørn: regne om til epoch tid, unix_timestamp(dato_kolonne) (mysqlfunksjon) fjartan: $tidA = unix_timestamp($tidB) (- interval 15 minute) vil gjerne vise en if-else men hører jo at det er ikke lurt å blande mysql og php i en if-else. Dette er hele problemet: <span class="text"><i>Sist innlogget: <?php $tidB = mysql_result($result,0,"sistinnlogget"); $tidA = unix_timestamp($tidB) (- interval 15 minute) if ($tidA == now()) { echo "online nå!"; } else { echo date("d.m.Y H:i",strtotime($innlogget)); } hilsen kryptiske fjartan (evig optimist :nice: ) Lenke til kommentar
Torbjørn Skrevet 8. november 2003 Del Skrevet 8. november 2003 jeg mener, hva vil du ha i en variabel og hvorfor - vil du lettere kunne sette antall minutter du sjekker mot? isåfall veldig enkelt: function online() { $tidsintervall = 15; $query = "SELECT brukernavn FROM brukere WHERE sistinnlogget > now() - interval $tidsintervall minute"; $result = mysql_query($query); $number = mysql_num_rows($result); if ($number == 0) { echo "det er ingen pålogget akkurat nå"; } else { echo "noen er pålogget"; } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå