Avatar billede darkside Nybegynder
16. juni 2003 - 06:33 Der er 7 kommentarer og
1 løsning

Chat Flere Rum

Heysa, nu har jeg sat i et par måneder og rodet lidt med en chat, men er kørt lidt fast, vil gerne udvide det jeg har lavet med flere chatrum, jeg har bare ikke nogen ideer til hvordan det kan gøres.

Nogen der kan komme med en simpel guide eller et kode eks ?

/DS
Avatar billede martinbk Nybegynder
16. juni 2003 - 06:41 #1
du kan vel bare give hvert rum et unikt id, og så sætte dine SQL sætninger(antæger du bruger SQL som backend) til at limit på rumet's id, rum id'en kan du så evt. bare skjule i addresselinien
Avatar billede darkside Nybegynder
16. juni 2003 - 06:43 #2
Hm ya kunne man vel godt, men tror ikke det er optimalt, kan du evt give et kode eks ?

Bruger mysql ;)
Avatar billede martinbk Nybegynder
16. juni 2003 - 06:47 #3
well komme an på, når en bruger skriver en besked.. sættes denne så ind i databasen ?.. isåfald kan du jo bare lave en mysql_query("SELECT besked FROM 'din tabel' WHERE room_id='$_GET[room_id]'");
Avatar billede darkside Nybegynder
16. juni 2003 - 06:49 #4
Hm, forstår ikke helt!
Er lidt af en spade til PHP så du må gerne skære det ud i pap ! ;)
Avatar billede martinbk Nybegynder
16. juni 2003 - 06:51 #5
well bind et room_id i halen på hver eneste besked en bruger sender.. self skal det id svarer til det rum brugeren er i, når du så hiver beskederne ud skal du self. også kun vise beskederne med samme id til samme bruger, lidt samme princip som at skrive privat hvor du bare bruger brugeren's id istedet for et rums.. anyways jeg går i seng nu
Avatar billede darkside Nybegynder
16. juni 2003 - 13:32 #6
Hm fatter stadigt intet, kan du give en lille guide?

Gerne letforståligt
Avatar billede ahv Nybegynder
16. juni 2003 - 14:06 #7
Du har sikkert allerede nu en chat med et rum, så det arbejder vi videre på ->
I din tabel tilføjer du feltet rumid <- skal bare være tinyint(2)

Hvis vi vil lave to rum hvor man har mulighed for at gå hen til ->
<form method='post' name='rum1' action="chatten.php">
<input type='hidden' name='rumid' value='1'>
<input type="submit" value="Gå til rum 1"</a>
</form>
<form method='post' name='rum2' action="chatten.php">
<input type='hidden' name='rumid' value='2'>
<input type="submit" value="Gå til rum 2"</a>
</form>

Vi kan så registrere hvilket rum brugeren har valgt, dette valg lægger vi i en session, på chatten.php (fiktivt navn) ->

session_start();
$_SESSION['rumid'] = $_POST['rumid'];

Nu ved vi så hviket rum brugeren har valgt og det lægger i session variablen ->
$_SESSION['rumid']

Når vi så skal have alle beskederne ud for det valgte rum (husk at starte session i toppen på siderne nu vi arbejder med sessions) ->
SELECT * FROM chat WHERE rumid='$_SESSION[rumid]'

Når vi vil indsætte skal det selvfølelig også ind i det rigtige "rum" (fiktive feltnavne) ->
INSERT INTO chat (navn, tid, rumid) VALUES ('$_POST[navn]', NOW(), '$_SESSION[rumid]'

Det eneste du nu skal vende dig til er at lave en WHERE når du trækker ud, også huske at indsætte rum id'et når du indsætter.
Avatar billede darkside Nybegynder
16. juni 2003 - 16:24 #8
Mange tak, fik det til at spille efter jeg selv fattede det ;)
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