Avatar billede lolgoff2 Nybegynder
06. januar 2002 - 02:54 Der er 5 kommentarer og
2 løsninger

JOIN (tror jeg nok)

Jeg har to tabeller, som består af følgende kolonner

TABEL1:
username (primær)
ip

TABEL2:
username (primær)
brugerkonto
password
aktiv

Jeg har \"adgang\" til brugerens ip-adresse, og der er kun ét brugernavn pr. IP-adresse, dvs jeg har også brugerens username. Men det jeg egentlig gerne vil er at checke, hvor vidt den enkelte brugerkonto er aktiv.

Det forholder sig således, at et \"username\" kan have flere \"brugerkonti\".

Jeg kender ikke så meget til kommandoerne i SQL, jeg har kigget i MySQL-manualen, men det er ikke ligefrem lykkedes for mig :-(

Jeg havde forestillet mig noget med, at man kunne joine tabellerne, så man kunne få fingrene i begge tabeller vha. at anvende username?

Er der nogle der kan hjælpe mig med den?
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 03:21 #1
$getTabelDu = mysql_query(\"select * from tabel1,tabel2 where tabel1.username=tabel2.username\");

while ($minRaekke = mysql_fetch_array($getTabelDu)) {

<? echo $minRaekke[\'tabel2.aktiv\']?>

}

Er det sådan noget lignende??
Avatar billede lolgoff2 Nybegynder
06. januar 2002 - 04:02 #2
Ja - det virker overbevisende nok, men det spiller ikke ligefrem, men den der angivelse....kan man lave den efter en JOIN....?

[tabel2.aktiv] ?

Jeg kan ikke få den kommando til at virke (blank skærm) :-(
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 04:04 #3
Jeg er bange for jeg så ikke helt forstår hvad du præcist mener.
Avatar billede jalle Nybegynder
06. januar 2002 - 05:37 #4
Har du data i begge tabeller ? hvis ikke så skal du bruge enten left join eller right join
Avatar billede erikjacobsen Ekspert
06. januar 2002 - 07:55 #5
$getTabelDu = mysql_query(\"select tabel1.username,ip,brugerkonto,password.ktiv from tabel1,tabel2 where tabel1.username=tabel2.username and aktiv=true\");

while ($minRaekke = mysql_fetch_array($getTabelDu)) {
  echo $minRaekke[\'username\'].\"<br>\";
}


Jeg ved ikke lige hvad type dit aktiv felt er
Avatar billede proaccess Nybegynder
07. januar 2002 - 07:49 #6
Prøv med:

SELECT TABEL1.*, TABEL2.brugerkonto FROM TABEL1 INNER JOIN TABEL2 ON TABEL1.username=TABEL2.username WHERE TABEL2.aktiv=True

MEN Hvis du ikke skal bruge info fra TABEL1 (såsom IP-adr.), så behøver du ikke denne tabel i din forespørgsel... Username er jo også i TABEL2...

SELECT * FROM TABEL2 WHERE aktiv=True ORDER BY username, brugerkonto
Avatar billede lolgoff2 Nybegynder
07. januar 2002 - 16:21 #7
Ok.....tak for hjælpen - nu går det mig noget bedre :)))
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
Computerworld tilbyder specialiserede kurser i database-management

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