PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| <?php // selecteer alle wedstrijden $sql = "select * from wedstrijden"; $result = mysql_query($sql); if (!$result) { echo "Kan query niet uitvoeren $sql<BR>"; echo mysql_error(); exit; } // als er resultaten zijn doe iets if ($myrow = mysql_fetch_array($result)) { ?> <table cellpadding=4 cellspacing=4 border=1> <tr> <td>HOME</td> <td>AWAY</td> </tr> <?php do { // home en away id bewaren $homeid = $myrow['id_land_home']; $awayid = $myrow['id_land_away']; // landcode bij homeid ophalen $sql_thuis = "select land_code from landen where land_id = $homeid"; $result_thuis = mysql_query($sql_thuis); if (!$result_thuis) { echo "Kan query niet uitvoeren $sql_thuis<BR>"; echo mysql_error(); exit; } $myrow_thuis = mysql_fetch_array($result_thuis) $thuiscode = $myrow_thuis['land_code']; // landcode bij awayid ophalen $sql_away = "select land_code from landen where land_id = $awayid"; $result_away = mysql_query($sql_away); if (!$result_away) { echo "Kan query niet uitvoeren $sql_away<BR>"; echo mysql_error(); exit; } $myrow_away = mysql_fetch_array($result_away) $awaycode = $myrow_away['land_code']; ?> <tr> <td>[img]<?=[/img]></td> <td>[img]<?=[/img]></td> </tr> <?php } while ($myrow = mysql_fetch_array($result)); ?></table><?php } else { echo "Geen wedstrijden aanwezig."; } ?> |
Relevante tabellen
landen (id, land_code)
wedstrijden (id_land_home, id_land_home)
Huidige situatie
In de tabel wedstrijden zitten dus 2 id's van landen. En in landen zit een landcode welke gebruikt wordt om een naam van een image samen te stellen bijv: 'NLD.gif'. Bovenin worden alle wedstrijden opgehaald en in de loop haal ik voor beide id's de landcode op zodat ik deze kan gebruiken om het plaatje te tonen.
Gewenste situatie
De query van de wedstrijden ophalen zo te maken dat de 'id_land_home' en de 'id_land_away' in het resultaat gelijk al de bijbehorende landcode zijn.
Dus resultaat (GER, NLD) ipv (1,2).
Waarom
De bovenstaande code werkt. Maar zoals je ziet zijn het twee extra query's binnen de loop om de bijbehorende landcodes op te halen. En alles in 1 query is natuurlijk veel
[ Voor 10% gewijzigd door seamus21 op 22-02-2006 00:46 ]
Always shoot for the moon. Even if you miss you will land among the stars...