2 queries door elkaar

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bram

bram

09/04/2009 15:13:00
Quote Anchor link
Ik zit met een probleem, ik heb twee verschillende queries, opgeslagen in deze variabelen:
$query1
en
$query2

Ik moet gegevens uit beide queries gebruiken in een tabel:
http://img26.imageshack.us/my.php?image=tabels.png

Ik hoop dat de tabel een beetje duidelijk is, hoeveel rijen er zijn hangt af van query2 en hoeveel kolommen er zijn hangt af van query1.
met query1[1] bedoel ik het eerste gegeven (rij) uit query 1.
met query2[3] bedoel ik het 3e gegeven (de derde rij) uit query 2.

als ik het volgende heb bedoel ik:
query1[1]&query2[2]: gegevens uit query1 en query2 (uit query 1 is dat het eerste gegeven, voor query 2 is dat het tweede gegeven).

Ik weet niet hoe ik dit kan klaarspelen, misschien iets met twee while lussen door elkaar als dat al mogelijk is?
Ik hoop ook dat mijn vraag een beetje duidelijk is, het is nogal moeilijk om uit te leggen...

Alvast bedankt,
Bram
Gewijzigd op 01/01/1970 01:00:00 door Bram
 
PHP hulp

PHP hulp

24/04/2024 15:25:57
 
Frank -

Frank -

09/04/2009 15:21:00
Quote Anchor link
Wanneer jij gegevens uit meerdere queries samen nodig hebt, is het wellicht handiger om gewoon 1 goede query op te stellen waarmee je in 1x alle benodigde data ophaalt. Bovenstaand verhaal ziet er uit als een bord spaghetti na een ernstig ongeluk, daar kan ik niks mee.
 
Bram

bram

09/04/2009 15:34:00
Quote Anchor link
Je hebt gelijk, ik kan het misschien beter op de volgende manier uitleggen:
Ik heb een mysql tabel, genaamd mannetjes. In die tabel staan de volgende gegevens:
-Naam: de naam van het mannetje
-Team: Twee mogelijkheden: slecht of goed
-Kracht: een getal

de bedoeling is dat er via php nu een tabel wordt gemaakt:
-Op de bovenste rij komen de namen van de mannetjes uit het slechte team.
-Op de eerste kolom komen de namen van de mannetjes uit het goede team.
-(In de allereerste cel staat niets)

Op de cellen waar een mannetje uit een goed en een uit een slecht elkaar kruisen, moet een getal komen te staan, dit getal moet de optelsom zijn van de kracht van het goede mannetje en het slechte mannetje.

in $query1 heb ik alle slechte mannetjes opgeslagen
in $query 2 heb ik alle goede mannetjes opgeslagen

------
misschien het voorbeeld nog even verduidelijken:
dit zijn 5 gegevens uit de tabel:
-Bram/Goed/5
-Stef/Slecht/4
-Eric/Slecht/3
-Jan/Goed/3
-Piet/Goed/6

De tabel zou er dan zo moeten uitzien:
|||||||||Stef|||||Eric|
Bram|||-9-||||||-8-||
Jan|||||-7-||||||-6-|||
Piet|||||-10|||||-9-|||

met een afbeelding is het mss nog duidelijker:
http://img26.imageshack.us/my.php?image=tabel2222.png

Ik hoop dat het wat duidelijker is...
Gewijzigd op 01/01/1970 01:00:00 door bram
 
Flip --

Flip --

11/04/2009 17:47:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
while ($rij = fetch_array(query die de rijen verzorgt) {
 print <TR>;
    while ($kolom = fetch_array(query die de kolommen verzorgt) {
         print <TD>;
         // kolom meets rij, resultaat zou zoiets kunnen zijn:
         $resultaat = $rij['veld1'] * $kolom['veld1'];
         print </TD>;
   }

print </TR>;
}

?>


code werkt niet, omdat ik het gemaak heb om het principe uit te leggen en niet om functioneel te zijn.

wat ik raar vind is je data model, maar misschien kan het niet anders
in de tabel die je creerd zit nog meer diepte eigenlijk als je meer dan 1 veld (1 kolom) je je mysql tabel gebruikt.

je hebt eigenlijk 2 queries met ieder een lengte en een breedte (rijen en kollomen) die je dus combineerd zodat je 4 dimensies hebt.

ik vind het wel redelijk duidelijk wat je wilt, maar niet waarom het zo is. en ik vraag me ook af of je wel de juiste aanpak hebt.
als het mogelijk is maak een table in je database die al de layout heeft van de tabel die je probeert te creeren
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.