Array ombouwen naar goede format

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maichel van Roessel

Maichel van Roessel

09/03/2012 15:24:22
Quote Anchor link
Hallo beste mensen. Ik heb geen idee waar ik op moet zoeken voor mijn huidige probleem, dus leg ik het maar voor.

uit mijn database haal ik een array met gegevens. Om deze gegevens te gebruiken moet ik deze array ombouwen zodat het het format heeft wat ik kan gebruiken om mijn html tabel mee te maken.

De array die ik krijg uit de database is opgebouwd als volgt.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
 [0] => Array
        (
            [
TblExtraOptionsTitle] => Array
                (
                    [
id] => 1
                    [title] => Opties
                    [productid] => 9
                )

            [
TblExtraOption] => Array
                (
                    [
id] => 1
                    [checkbox] => 1
                    [optionname] => STAK werksteker
                    [optionsubname] => losse steker
                    [txtordropelement] =>
                    [
finaltxt] => 0
                    [image] =>
                    [
titleid] => 1
                )

        )

    [
1] => Array
        (
            [
TblExtraOptionsTitle] => Array
                (
                    [
id] => 1
                    [title] => Opties
                    [productid] => 9
                )

            [
TblExtraOption] => Array
                (
                    [
id] => 2
                    [checkbox] => 1
                    [optionname] => STAK werksteker met contrasnoer 5 meter
                    [optionsubname] =>
                    [
txtordropelement] =>
                    [
finaltxt] => 0
                    [image] =>
                    [
titleid] => 1
                )

        )

?>

Zo gaat deze verder en de titels zijn dan ook verschillend.
Dit is data van twee database tabellen en hier zit dus een relatie tussen.
Wanneer er bijvoorbeeld 2 (Dit kan oplopen tot 5 of 6) titels zijn wil ik dat er voor elke titel een kolom komt en onder die kolom moeten de juiste gegevens komen onder de juiste titels.

Ik wil dat mijn data er als volgt uit gaat zien.
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
<?php
$data
= array(
    'rij 1' => array(
        'col1' => 'data1',
        'col2' => 'data2',
        'col3' => 'data3'
    ),
    'rij 2' => array(
        'col1' => 'data4',
        'col2' => 'data5',
        'col3' => 'data6'
    )
);


?>


Rij 1 dal de eerste data rij zijn in de tabel en niet de header. Deze word van te voren gegenereerd en dat lukt wel.

Het kan zijn dat dit een omslachtige manier is en dan hoor ik graag hoe het anders zou kunnen
Bij voorbaat dank!
Gewijzigd op 09/03/2012 16:17:25 door Maichel van Roessel
 
PHP hulp

PHP hulp

18/04/2024 23:23:00
 
Jeroen VD

Jeroen VD

09/03/2012 16:49:31
Quote Anchor link
je wilt dus een array wegschrijven naar de database en weer op kunnen halen, of begrijp ik dat verkeerd?
 
Maichel van Roessel

Maichel van Roessel

10/03/2012 18:04:31
Quote Anchor link
Nee, ik wil de bovenste array die uit de database komt ombouwen naar de onderste structuur zodat ik er een tabel van kan bouwen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/03/2012 18:44:04
Quote Anchor link
De vraag is hoe jij je gegevens ophaalt uit de database. ga je ze eerst in een array zetten en daarna moet je die array ombouwen?
 
Maichel van Roessel

Maichel van Roessel

10/03/2012 19:19:53
Quote Anchor link
Ja, ik zet eerst de database resultaten in die bovenste array, maar werk met een Model view controller en daar gebeurd dat standaard zo. Ik kan het wel ombouwen, maar dan weet ik nog niet hoe ik de resultaten in de 2e array zet die hierboven is omschreven.

Ik heb een tabel 'tabel optiestitle' en een tabel 'tabel opties' aan een title zit met een foreign key een of meerdere opties.

De velden die ik in mijn tabel heb zijn in de eerste array te zien.
 
Maichel van Roessel

Maichel van Roessel

12/03/2012 09:24:22
Quote Anchor link
Mijn database ziet er als volgt uit
http://mdo-cu01.dmnmado.com/test/dbstructuur.png
Afbeelding

Wat ik de gebruiker wil laten zien is
http://mdo-cu01.dmnmado.com/test/ui.jpg
Afbeelding
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

12/03/2012 09:39:45
Quote Anchor link
403 Forbidden
Request forbidden by administrative rules.
Dat krijg ik op die links

Maar haal je de data in 1 query op of met meerdere?
 
Maichel van Roessel

Maichel van Roessel

12/03/2012 09:52:57
Quote Anchor link
SELECT * FROM tblExtraOptionsTitle, tblExtraOptions WHERE tblExtraOptionsTitle.id = tblExtraOptions.titleid and productid = \'' . mysql_real_escape_string($productid) . '\';'

Dat is mijn query. 1 query dus.


Ps. dan weet ik niet hoe ik plaatjes kan laten zien hier.

Toevoeging op 12/03/2012 10:03:55:

Eigenlijk is het probleem dat een tabel opgebouwd word per rij en ik krijg mijn resultaten per collom.
Gewijzigd op 12/03/2012 09:58:44 door Maichel van Roessel
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

12/03/2012 10:14:01
Quote Anchor link
Ik ben toch wel benieuwd wat het uiteindelijke resultaat moet worden, ik heb je even een PM gesruurd met mijn email adres.

Toevoeging op 12/03/2012 11:44:08:

Oké, nu begrijp ik het, je wilt dus de rijen uit de database vertalen naar kolommen in een tabel. Je kan dit ook gewoon met HTMl en CSS aanpakken ipv omslachtig te doen in PHP.

PS.
Let op met * in join queries, je gebruikt dezelfde kolomnamen in verschillende tabellen, met mysql_fetch_assoc krijg je dan maar 1 waarde (de laaste).
 
Maichel van Roessel

Maichel van Roessel

12/03/2012 13:11:01
Quote Anchor link
Ik moet het dus gewoon in php doen zoals ik het kan met het huidige resultaat en dan in CSS oplossen?
Dit heb ik ook nog nooit eerder gedaan, dus Heb je ook een voorbeeld van de CSS/HTML code die een tabel zo veranderd?
Of betekenet dat dat het in div elementen en CSS moet? Want die techniek ken ik wel.

Toevoeging op 12/03/2012 13:26:04:

ps. Ik ken de regels van zo'n query. Ik zet ook expres in mijn query de hele tabelnaam ervoor zodat ik weet dat ik met de goede data werk. Maar thanx voor de tip!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

12/03/2012 13:31:08
Quote Anchor link
Je moet inderdaad geen tabel meer gebruiken, ik zelf zou dit met lists (<ul><li><ul>)
oplossen, hetzelfde als je met een menu zou doen. Maar met divs kan ook.
 
Maichel van Roessel

Maichel van Roessel

12/03/2012 13:33:06
Quote Anchor link
Oke, dankje. Zal het proberen!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

12/03/2012 14:01:34
Quote Anchor link
Succes! :-)

PS.
Ook al zet je de tabelnamen ervoor het resultaat blijft hetzelfde:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT tabel1.id, tabel2.id FROM tabel1, tabel2 ..............

krijg je ook maar één id terug!
Ik heb de gewoonte om alle kolomnamen behalve de FK's te relateren aan de tabelnaam,
zou je zelfs nog kunnen NATURAL joinen.
 
Maichel van Roessel

Maichel van Roessel

12/03/2012 14:19:53
Quote Anchor link
Ger van Steenderen op 12/03/2012 14:01:34:
PS.
Ook al zet je de tabelnamen ervoor het resultaat blijft hetzelfde:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT tabel1.id, tabel2.id FROM tabel1, tabel2 ..............

krijg je ook maar één id terug!
Ik heb de gewoonte om alle kolomnamen behalve de FK's te relateren aan de tabelnaam,
zou je zelfs nog kunnen NATURAL joinen.


Bedankt voor de tip
 



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.