Join in associative array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Barry

Barry

01/08/2008 21:34:00
Quote Anchor link
Goedenavond,

ik heb een simpele tabel combinatie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
klanten: id, naam
facturen: id, klant_id, factuurnummer, totaalbedrag


de klant_id in de tabel facturen staat in een verband met klanten.id.
Het is dus een klant (one) to facturen (many) relatie.

Ik heb natuurlijk meer facturen per klant. Met welke join kan ik nu in php alle facturen in een subarray van die klant krijgen, in plaats van elke factuur in een rij waar ook de klantgegevens weer staan.
Een voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
// nu heb ik:
klant.id - klant.naam - factuur.factuurnummer - factuur.totaalbedrag
  1       -    pietje       - CS123                        - 100
  2       -    jantje       - CS222                       - 10
  2      -    jantje        - CS333                        - 20

// maar ik wil

  1  - pietje   - CS123     - 100
 2 - jantje   /*en dan een subarray*/
                 array( CS222 - 10,  CS333 - 20)


misschien een beetje lastig uit te leggen, maar met welke join (en misschien group by?) kan ik dit voormekaar krijgen? Ik neem aan dat ik later in php mysql_fetch_assoc() moet gebruiken?

bvd, groet,

Barry
 
PHP hulp

PHP hulp

02/12/2020 05:08:51
 
Jan Koehoorn

Jan Koehoorn

01/08/2008 23:31:00
Quote Anchor link
Je wilt dus een rijtje met alle klanten met hun factuurnummers erachter?

SELECT klant.naam, factuur.factuurnummer
FROM klant
LEFT JOIN factuur ON klant.id = facturen.klant_id
ORDER BY klant.naam

Daarna doe je bij het fetchen dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    $naam
= '';
    while ($row = mysql_fetch_assoc ($res)) {
        if ($naam != $row['naam']) {
            echo '<h3>' . $row['naam'] . '</h3>';
            $naam = $row['naam'];
        }

        echo '<p>' . $row['factuurnummer'] . '</p>';
    }

?>

Code niet getest.
 



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.