[MySQL] Hoe op te lossen?

Pagina: 1
Acties:

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
Ik heb 2 tabellen:
-profielen: informatie over leden
-fotoalbum: elke lid mag 10 foto's uploaden en hier staat info over die foto's. Eén foto is een 'mainfoto' die bijvoorbeeld in de ledenlijst getoond wordt.

Hoe moet ik nu die hoofdfoto samen met de ledeninformatie uit de database halen?

velden in profielen:
code:
1
2
3
id 
username    
enz...


velden in fotoalbum:
code:
1
2
3
4
id         //id van de foto
profiel    //profiel waar de foto bij hoort
fotourl    //url van de foto
main_foto  //als deze 1 is, dan is de foto de 'mainfoto'


Ik had zelf iets met
code:
1
SELECT p.*, f.fotourl FROM profielen AS p LEFT JOIN fotoalbum AS f ON p.id=f.profiel WHERE p.geslacht='1' GROUP BY p.id  DESC LIMIT 20

Maar hoe zorg ik er voor dat de mainfoto gepakt wordt en niet een andere?

[ Voor 4% gewijzigd door jj85 op 17-04-2004 11:19 ]


Verwijderd

WHERE-clause uitbreiden? :X

[ Voor 50% gewijzigd door Verwijderd op 17-04-2004 11:21 ]


  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
Heb ik geprobeerd, maar dan pakt hij alleen de leden die wel een foto hebben en niet de leden die geen foto hebben...

  • GlowMouse
  • Registratie: November 2002
  • Niet online
code:
1
SELECT p.*, f.fotourl FROM profielen AS p LEFT JOIN fotoalbum AS f ON p.id=f.profiel WHERE p.geslacht='1' GROUP BY p.id  DESC ORDER BY f.main_foto DESC LIMIT 1

waarbij ik ervanuitga dat main_foto niks of 1 is. Misschien kun je hem beter van het type boolean maken.

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
GlowMouse schreef op 17 april 2004 @ 11:32:
code:
1
SELECT p.*, f.fotourl FROM profielen AS p LEFT JOIN fotoalbum AS f ON p.id=f.profiel WHERE p.geslacht='1' GROUP BY p.id  DESC ORDER BY f.main_foto DESC LIMIT 1

waarbij ik ervanuitga dat main_foto niks of 1 is. Misschien kun je hem beter van het type boolean maken.
Wil ook niet, trouwens, hij moet 20 profielen uit de database halen, en deze haalt er maar 1 uit..

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
code:
1
2
3
4
SELECT p.*, f.fotourl 
FROM profielen AS p LEFT JOIN fotoalbum AS f ON p.id=f.profiel 
WHERE p.geslacht='1' AND (f.profiel IS NULL or f.mainfoto = 1)
ORDER BY p.id DESC

[ Voor 4% gewijzigd door Olaf van der Spek op 17-04-2004 11:52 ]


  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
OlafvdSpek schreef op 17 april 2004 @ 11:52:
code:
1
2
3
4
SELECT p.*, f.fotourl 
FROM profielen AS p LEFT JOIN fotoalbum AS f ON p.id=f.profiel 
WHERE p.geslacht='1' AND (f.profiel IS NULL or f.mainfoto = 1)
ORDER BY p.id DESC
Bedankt!
Deze werkt prima!
Pagina: 1