Avatar billede mac10 Nybegynder
21. september 2007 - 14:16 Der er 2 kommentarer og
1 løsning

Udskrive første ID fra database?

Goddag

Jeg sidder med et lille problem jeg ikke helt kan få til at hænge sammen.

Det ser således ud:
Jeg har en tabel der hedder "profiler" og en der hedder "billeder".

- Profiler
id
navn
alder

- Billeder
id
profil
billede

F.eks. så har profil #1 5 billeder.

Så der bliver indsat følgende i billeder:"

id: 1
profil: 22
billede: billede1.jpg

id:2
profil: 22
billede: billede2.jpg

Så jeg vil lave en liste, hvor den udskriver alle profiler, men kun med 1 billede fra hver profil og hvis der ikke ikke er noget billede, så viser den "none.jpg".

Er der nogen der kan yde noget assitance med denne lille forhindring?
Avatar billede barklund Nybegynder
21. september 2007 - 14:24 #1
Det nemmeste er nok at lave GROUP BY på dit profil-id:

SELECT
profiler.id,
profiler.navn,
profiler.alder,
IFNULL(billeder.billede, 'none.jpg')
FROM
profiler LEFT JOIN
billeder
  ON profiler.id = billeder.profil
GROUP BY
profiler.id

Så kan du direkte vise billedet. At ovenstående er tilladt skyldes at MySQL er lidt speciel med hensyn til ikke-grupperede værdier i select-listen selv om der bruges en grouping - den vil faktisk vise et tilfældigt af disse X billeder som hver profil har, hvilket måske er det først indsatte, men sagtens kan være et andet.

Vil du sikre dig, at der altid bliver vist samme billeder, så skal dette lige ændres en anelse :)

--
Morten Barklund
Avatar billede mac10 Nybegynder
05. oktober 2007 - 12:16 #2
Tak, lav svar
Avatar billede barklund Nybegynder
05. oktober 2007 - 13:42 #3
Okay
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