Vraag over JOINS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remco

remco

04/04/2007 20:37:00
Quote Anchor link
Dit stuk hier is al opgelost. Enkele post naar onderen staat het volgende probleem. Dus als iemand tijd heeft en zou willen helpen. kijk dan even naar beneden

Ik heb een vraag naar aanleiding van de tutorial over Multiple queries.
Ik wil dit zo ongeveer krijgen.
wedstrijden
-id
-thuis
-uit
-datum
-seizoen
-uitslag

nu ben ik wat gaan normaliseren.
tabel->wedstrijden
-id
-thuisid
-uitid
-datum
-seizoenid
-uitslag

Nu loop ik een beetje vast. Als ik namelijk een tabel met clubs aanmaak dan heb ik geen idee hoe ik de database moet uitlezen (wel een idee maar werkte niet)
ik heb het nu zo (werkt niet)
table ->clubs
-id
-naam

Nu heb ik het volgende stukje script om de wedstrijden te verkrijgen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
include("connect.php");
$select01 = "SELECT
    we.id,
    cl.naam,
    cl.naam,
    we.datum,
    se.jaar,
    we.uitslag
FROM
    wedstrijden AS we,
    clubs AS cl,
    seizoen AS se
WHERE
    we.thuisid = cl.id
AND
    we.uitid = cl.id
AND
    we.seizoen_id = se.id
ORDER BY
    we.id
    ASC"
;
$query01 = mysql_query($select01) or die (mysql_error());
while($result01 = mysql_fetch_object($query01)){
    echo $result01->naam.'<br />';
    echo $result01->naam.'<br />';
    echo $result01->datum.'<br />';
    echo $result01->jaar.'<br />';
}

?>


Maar dit werkt niet omdat je 2x de variabele naam hebt.(vermoedt ik)
Heeft iemand een idee hoe dit wel goed kan/moet

Alvast bedankt voor de moeite

MVG, Remco
Gewijzigd op 01/01/1970 01:00:00 door Remco
 
PHP hulp

PHP hulp

26/04/2024 00:03:34
 
Klaasjan Boven

Klaasjan Boven

04/04/2007 21:53:00
Quote Anchor link
waarom 2X naam?
 
PHP Newbie

PHP Newbie

04/04/2007 21:55:00
Quote Anchor link
cl.naam,
cl.naam,

moet dat dan niet iets zijn in de trant van:

cl.naam
se.naam

??
 
Klaasjan Boven

Klaasjan Boven

04/04/2007 21:57:00
Quote Anchor link
Nee ik snap al wat hij wil. Er is altijd een uit en een thuisclub
 
Klaasjan Boven

Klaasjan Boven

04/04/2007 21:59:00
Quote Anchor link
en zo?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT
    we.id AS wedstrijdnr,
    cl_uit.naam AS uitclub,
    cl_thuis.naam AS thuisclub,
    we.datum AS wedstrijddatum,
    se.jaar AS seizoen,
    we.uitslag AS uitslag
FROM
    wedstrijden AS we,
    clubs AS cl_thuis,
    clubs AS cl_uit,
    seizoen AS se
WHERE
    we.thuisid = cl_thuis.id
AND
    we.uitid = cl_uit.id
AND
    we.seizoen_id = se.id
ORDER BY
    we.id
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 
Remco

remco

04/04/2007 22:31:00
Quote Anchor link
@klaasjan boven
Ja zo bedoelde ik het.
Dit werkt trouwens ook!!
Heel erg bedankt. Ik ga nu kijken of ik hier wat verder mee kom
Hier was ik zelf zeker niet opgekomen
 
Klaasjan Boven

Klaasjan Boven

05/04/2007 09:23:00
Quote Anchor link
Graag gedaan en kom je er niet uit dan gooi je maar weer een vraag op het forum
 
Remco

remco

19/04/2007 17:12:00
Quote Anchor link
Zo hier was ik weer ;P
Ik heb al heel wat pagina's gemaakt op deze manier. Gaat allemaal goed maar nu kom ik bij een pagina waar ik even bij vast loop.
Ik wil namelijk een pagina maken met daarom filmpjes.
Ik heb de volgende tabellen (hier en daar wat stukken tabel die niet nodig zijn weg gelaten)

tabel: wedstrijden:
-id
-thuisid
-uitid

clubs
-id
-naam

filmpjes
-id
-wedstrid
-titel

Zo deze waarden heb ik zo ongeveer nodig
Het ophalen van deze gegevens gaat ook gewoon goed. Als ik de query in phpMyAdmin uitvoer krijg ik netjes twee rijen(worden meer) met daarin de volgende waarden
-thuis (elke keer hetzelfde)
-uit (idem als thuis)
-id (id van het filmpje is elke keer zo als het hoort anders)
-titel (de titel van het filmpje)

Nu wil ik hiervan een lijst maken van de verschillende filmpjes met daarboven 1x de thuis en uitclub.
Dit is mijn stukje code tot nu toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
elseif(isset($_GET['match']) && is_numeric($_GET['match']) == 'TRUE'){
    $select02 = "SELECT
                cl_thuis.naam AS thuis,
                cl_uit.naam AS uit,
                fi.id,
                fi.titel
            FROM
                wedstrijden AS we,
                clubs AS cl_thuis,
                clubs AS cl_uit,
                filmpjes AS fi
            WHERE
                we.thuisid = cl_thuis.id
            AND
                we.uitid = cl_uit.id
            AND
                we.id = fi.wedstrid
            AND
                we.id = '".$_GET['match']."'";
    $query02 = mysql_query($select02);

Nu moeten deze gegevens worden verwerkt tot ongeveer het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Thuisclub - Uitclub
link naar filmpje 1
link naar filmpje 2
etc. etc.

Nu is mijn vraag kan dit met 1 query, zoals ik het nu heb, of moet ik hiervoor 2 query's aanmaken.

Ik heb zelf een vermoeden dat het met foreach wel moet kunnen maar hoe ik dat dan moet gebruiken is mij nog een raadsel.

Nu ben ik ook nog een n00b dus als iemand anders hier met zijn heldere blik een oplossing voor dit probleem vind zou die hem hier dan willen posten. Het kan ook gewoon een opzetje zijn om met foreach aan de slag te gaan.

iig alvast bedankt voor de moeite

MVG, Remco
 
Remco

remco

20/04/2007 19:28:00
Quote Anchor link
niemand die een idee heeft?
 
Jan Koehoorn

Jan Koehoorn

20/04/2007 20:14:00
Quote Anchor link
Wat je wilt is een rijtje dingen die bij elkaar horen met een titel erboven.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    $titel
= '';
    while (fetch fetch fetch) {
        if ($row['titel'] != $titel) {
            $titel = $row['titel'];
            echo '<h1>'.$titel.'</h1>';
        }

        // hieronder het rijtje echoën
        echo 'link naar filmpje';
    }

?>

Zelf even de waardes aanpassen.
 



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.