loop, meerdere rijen in 1 rij maken
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.
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.
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.
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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'];
}
?>
$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'];
}
?>
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
Thomas, dank je wel. Je hebt me enorm vooruit geholpen met je script.