Gå til innhold

pålogget nå -liste


Anbefalte innlegg

Videoannonse
Annonse

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

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

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

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 :roll:

Lenke til kommentar

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
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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...