loop, meerdere rijen in 1 rij maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels Mensink

Niels Mensink

26/01/2015 16:26:35
Quote Anchor link
Goedenmiddag,

Ik heb een vraag over opgehaalde data via php/mysql.
De situatie is als volgt:

De opgehaalde data bestaat uit 8 rijen:
- id
- lead_id
- form_id
- fieldnumber
- value

Het gaat mij om de value. De values van de elke 4 rijen horen bij elkaar en wil ik in 1 rij weergeven.
De form_id is bij elke rij hetzelfde en het lead_id is bij elke 4 rijen hetzelfde.
Hoe kan ik van de 4 rijen 1 rij maken? Alle tips zijn welkom.
 
PHP hulp

PHP hulp

29/03/2024 09:39:07
 
Thomas van den Heuvel

Thomas van den Heuvel

26/01/2015 16:49:01
Quote Anchor link
De beste oplossing is wellicht nog om deze al "gegroepeerd" uit je database te halen, is dat niet mogelijk?

Dan zeg je "de opgehaalde data bestaat uit 8 rijen", ik zie er maar 5 :/

Heb je een concreet voorbeeld van welke data je uit je database krijgt, en hoe je het er vervolgens uit wilt laten zien, dat spreekt wat meer tot de verbeelding, zeg maar.
 
Pipo Clown

Pipo Clown

26/01/2015 16:53:59
Quote Anchor link
Thomas van den Heuvel op 26/01/2015 16:49:01:
Dan zeg je "de opgehaalde data bestaat uit 8 rijen", ik zie er maar 5 :/


Volgens mij geeft TO helemaal geen rijen aan, alleen maar kolommen.
 
Niels Mensink

Niels Mensink

26/01/2015 16:58:43
Quote Anchor link
Ahh die 5 zijn velden van een rij, niet een rij zelf :) Hier de data:

id: 1
lead_id: 1
form_id: 1
fieldnumber: 1
value: Niels

id: 2
lead_id: 1
form_id: 1
fieldnumber: 2
value: Mensink

id: 3
lead_id: 1
form_id: 1
fieldnumber: 3
value: [email protected]
id: 4
lead_id: 1
form_id: 1
fieldnumber: 4
value: (064)782-2149

id: 5
lead_id: 2
form_id: 1
fieldnumber: 1
value: Chee

id: 6
lead_id: 2
form_id: 1
fieldnumber: 2
value: Keung

id: 7
lead_id: 2
form_id: 1
fieldnumber: 3
value: [email protected]

id: 8
lead_id: 2
form_id: 1
fieldnumber: 4
value: (061)234-5678

Als ik dit via een for ga weergeven krijg ik of alles naast elkaar. Wat ik wil is dat hij de gegevens van het lead_id op een afzonderlijke rij plaatst.
Gewijzigd op 26/01/2015 17:02:17 door Niels Mensink
 
Thomas van den Heuvel

Thomas van den Heuvel

26/01/2015 17:21:44
Quote Anchor link
Zo uit mijn hoofd, wellicht zit er nog een foutje in. Bij deze implementatie maakt het overigens niet uit hoeveel fields er zijn per lead_id. Hierbij worden de velden dus gegroepeerd per lead_id.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$data
= array();
while ($row = je_fetch_opdracht($je_resource)) {
    if (!isset($data[$row['lead_id']])) {
        // init huidige lead id
        $data[$row['lead_id']] = array(
            'fields' => array(),
            // en wat je verder nog op wilt slaan
        );
    }

    $data[$row['lead_id']]['fields'][$row['fieldnumber']] = $row['value'];
}

?>
 
John D

John D

26/01/2015 18:42:59
Quote Anchor link
Een oplossing is 4x de tabel selecteren. Kan wel een performance killer worden.

select alles uit tabel1, alles uit tabel2, alles uit tabel 3 etc
from tabel alias tabel, tabel alias tabel 2, tabel alias tabel 3
where etc
 
Niels Mensink

Niels Mensink

27/01/2015 09:49:03
Quote Anchor link
Thomas, dank je wel. Je hebt me enorm vooruit geholpen met je script.
 



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.