Avatar billede mac10 Nybegynder
13. januar 2009 - 17:08 Der er 10 kommentarer og
1 løsning

Vælg data som ikke allerede eksistere

Hej alle

Jeg er ved at lave noget af et kald jeg ikke kan overskue. Det jeg prøver er følgende:

- brugere
id
navn

- kategori
id
kategori

- kategori_brugere
id
navn_id
kategori_id

Hvis jeg går ind på ?kategori=10
så vil jeg gerne have at den viser alle de brugere som IKKE allerede ligger i mellem tabellen kategori_brugere.

Så hvis vi har en kategori med navnet "Kategori 1" og vi i brugere har 10 brugere. Hvis 2 af brugerne ligger i mellemtabellen så skal den kun vise resten af de 8 brugere.

Nogle der kan hjælpe? :S
Avatar billede fant0mas Nybegynder
13. januar 2009 - 17:16 #1
Du vil liste alle de brugere der ikke har en kategori relation?
Avatar billede fant0mas Nybegynder
13. januar 2009 - 17:17 #2
en *specifik kategori relation
Avatar billede mac10 Nybegynder
13. januar 2009 - 17:17 #3
Netop. Jeg vil udskrive dem som ikke er i $_GET['kategori'] og vise deres navn og id
Avatar billede mac10 Nybegynder
13. januar 2009 - 17:19 #4
Så hvis 7 brugere ligger i kategori med ID 5

$_GET['kategori'] = 5
Så skal den kun vise de 3 brugere som ikke har relation til kategori ID 5
Avatar billede fant0mas Nybegynder
13. januar 2009 - 17:37 #5
SELECT b.id, b.navn
FROM brugere b
LEFT JOIN kategori_brugere k ON k.navn_id = b.id
WHERE k.kategori_id <> 5
Avatar billede mac10 Nybegynder
13. januar 2009 - 17:44 #6
Den vælger data fra en tabel
Den joiner kategori.navn_id med brugere.id
Hvor kategori.kategori_id <> 5

Hvad betyder <>?

Det virker ikke umiddelbart. Hvor beskriver den at brugeren ikke må eksistere i forvejen?
Avatar billede fant0mas Nybegynder
13. januar 2009 - 17:53 #7
<> betyder ikke lig

Den siger at den vil se alle brugere der ikke har en relation til kategori 5

Hvis du bare vil have alle brugere uden relation, så er er kategorien jo irelavant - ikke?
Avatar billede mac10 Nybegynder
13. januar 2009 - 18:04 #8
Problemet er så bare at den også skal vise dem som ikke er kategori :S
Avatar billede mac10 Nybegynder
13. januar 2009 - 18:47 #9
Nå så måtte jeg selv prøve uden alt det hurlumhej:

SELECT * from brugere WHERE ID NOT IN (SELECT bruger_id from kategori_brugere WHERE kategori_id = '".$_GET['kategori']."') ORDER BY id

Smid dog alligevel et svar
Avatar billede fant0mas Nybegynder
14. januar 2009 - 09:15 #10
Tag dem selv.
Dog gad jeg godt vide hvordan et dump af min løsning så ud. :o)
Avatar billede mac10 Nybegynder
10. november 2010 - 12:42 #11
luk
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