Avatar billede Milla-Tigerdyr Praktikant
11. september 2011 - 10:00 Der er 2 kommentarer og
1 løsning

Online liste..Hvordan viser jeg brugernavnet?

Jeg har pt. fået sat mig et ret så simpelt online system op. Lige nu fortæller den bare hvor mange brugere der er online.
Jeg har tilføjet en 'myusername' i min tabel (user_online).

Jeg vil gerne have at den også viser HVEM der er online.. altså deres brugernavn (som i hele mit system hedder 'myusername')
Hvordan gør jeg det? Er der nogen der gider sætte det sammen så den også viser hvem der er online? I kan få mit script her:

<?
session_start();
$session=session_id();
$time=time();
$time_check=$time-600; //SET TIME 10 Minute

$host="localhost"; // Host name
$username="users_camilla"; // Mysql username
$password=""; // Mysql password **ER UDFYLDT**
$db_name="users_camilla"; // Database name
$tbl_name="user_online"; // Table name

// Connect to server and select databse
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name WHERE session='$session'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count=="0"){
$sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')";
$result1=mysql_query($sql1);
}
else {
"$sql2=UPDATE $tbl_name SET time='$time' WHERE session = '$session'";
$result2=mysql_query($sql2);
}

$sql3="SELECT * FROM $tbl_name";
$result3=mysql_query($sql3);

$count_user_online=mysql_num_rows($result3);

echo "Brugere online: $count_user_online ";

// if over 10 minute, delete session
$sql4="DELETE FROM $tbl_name WHERE time<$time_check";
$result4=mysql_query($sql4);

mysql_close();

// Open multiple browser page for result
?>
11. september 2011 - 12:19 #1
Hvis du vil vise brugernavnene for alle de der står i tabellen user_online og du har brugernavnet stående i feltet 'myusername', så skal du udskifte denne kode:

$sql3="SELECT * FROM $tbl_name";
$result3=mysql_query($sql3);
$count_user_online=mysql_num_rows($result3);
echo "Brugere online: $count_user_online ";

med denne kode:


$sql3="SELECT * FROM $tbl_name";
$result3 = mysql_query($sql3);
echo "Brugere online: <br>";
while($row = mysql_fetch_array($result3))
{
  echo "$row['username'] <br>";
}

(Men jeg kan ikke i den kode du viser gennemskue, hvordan du får usernavnet ind i tabellen user_online.)
Avatar billede Milla-Tigerdyr Praktikant
11. september 2011 - 12:24 #2
Det er egentlig rigtig nok..hvordan får jeg myusername ind i tabellen?
11. september 2011 - 15:53 #3
Jeg svarede på det spørgsmål, du stillede, hvordan du viser brugernavnene.  Du fortalte, forstod jeg, at tabellen user_online indeholder feltet 'myusername' med brugernavn.  Jeg viste dig en kode, der vil gøre dette, under de givne forudsætninger.

Nu har du så et nyt spørgsmål, hvordan du får brugernavnene placeret i tabellen.  Det kan jeg ikke svare på ud fra de oplysninger du giver.  Du oplyser ikke, hvor du får brugernavnet fra.  Du må vel have noget kode til at logge en bruger ind, og der må du kunne indfange en variabel $bruger, som du så kan indsætte i user_online noget i retning af "INSERT INTO user_online(session, myusername) VALUES '$session', '$bruger'";

Jeg foreslår, at du lukker dette spørgsmål (ved at acceptere mit svar), og opretter et nyt spørtsmål, hvor du viser koden til at logge brugere ind, viser hvordan tabellen user_online er bygget op, og spørger hvordan du får brugernavnet indsat i tabellen.  Så bliver spørgsmålet set ikke kun af mig men af alle ekspertens medlemmer, hvoraf nogle måske er klogere end jeg.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester