Meerdere tabellen selecteren in 1 kolom

Status
Niet open voor verdere reacties.

geenID

Gebruiker
Lid geworden
1 jul 2009
Berichten
312
Hallo allemaal,

Dit is wat ik wil doen: Ik wil alle waardes ophalen uit de 'gender' tabel, en de waarde die past bij de user_id. De return van deze query moet in 1 kolom komen te staan, zodat ik NIET moet loopen in de foreach.

Om dit verhaal duidelijk te maken heb ik een fiddle gemaakt. Nu returned deze fiddle alleen de ID en VALUE 'man', maar ik wil ook de ID en VALUE van vrouw, in dezelfde kolom hebben.

http://sqlfiddle.com/#!9/90540/1

Zo moet het resultaat eruit komen te zien

5pk7yg.png
 
Laatst bewerkt door een moderator:
Dit zou erg vreemd zijn. (de id en value van een vrouw horen immers niet bij elkaar) Waarom moet de loop vermijd worden?
 
Klopt, de loop moet vermijd worden omdat er een behoorlijk aantal queries worden uitgevoerd binnen deze loop ( er wordt namelijk HTML geprint, voornamelijk <select> met de <option> uit de database.

Eerst moet bijvoorbeeld de leeftiijd van gebruiker uit de database worden gehaald.
Daarna moet de gebruiker zijn leeftijd kunnen veranderen via een select.
Alleen de leeftijd-waardes waaruit hij kan kiezen staan in de database.
Zo zijn er nog 10 andere dingen die de gebruiker kan veranderen aan zijn account, waardoor er dus nog 10 andere SELECT * FROM queries worden uitgevoerd binnen de aller eerste querie
 
Laatst bewerkt:
Eerst moet bijvoorbeeld de leeftiijd van gebruiker uit de database worden gehaald.

Als het hier 1 gebruiker betreft kan je beter werken met een aangepaste query.

In de trand van:
[sql]select * from user_account where id = 1 [/sql]

Dat doe je zelf in je stukje code ook al. Dus ik snap nog steeds het probleem niet echt ben ik bang :)
 
Om het simpel te houden zeggen we inderdaad dat er maar 1 gebruik is.
Bij de query (SELECT * FROM user_account WHERE id = 1) haal hij de leeftijd op, dit klopt.

Maar in de database staat nog een andere tabel genaamd "leeftijd_options". Hierin staan de leeftijden waaruit de gebruiker kan kiezen wanneer hij zijn leeftijd wilt veranderen. Dus alles uit de "leeftijd_options" tabel moet worden opgehaald en in een select worden gezet. Hoop dat dit duidelijker is? :)

Een voorbeeld: http://pastebin.com/uB5MjAds
 
Laatst bewerkt:
Wat je verteld snap ik. Het probleem echter nog niet.

Wat is aan je code uit de pastebin niet correct?
 
De code van pastebin werkt gewoon, alleen dit gaat alleen maar over de leeftijd. Ik denk dat je je wel kunt voorstellen dat wanneer er nog 10 andere eigenschappen komen, zoals email, geboortedatum, geslacht etc, dan worden er 10 queries uitgevoerd, dit gaat natuurlijk enorme laadsnelheid kosten.

Neem nou bijvoorbeeld deze paste, er worden 4 queries uitgevoerd (in de toekomst nog veel meer), ik neem aan dat dit veel geoptimaliseerder kan toch?

http://pastebin.com/duZZACZM
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan