PhP Array, loop werkt niet
Hoogst waarschijnlijk zie ik iets over het hoofd.....
In mijn database staat in kolom x:
Quote:
VNKK9474; VNKK9468; VNKK9464; VNKK9462;
Dit haal ik uit de database, en wil een loop maken met de array
Code (php)
1
2
3
4
5
2
3
4
5
foreach ($row['product_pic'] as $value) {
$xml .= '
<PLAATJE'.$plaatje_nr.'>'.$value.'</PLAATJE'.$plaatje_nr.'>
';
}
$xml .= '
<PLAATJE'.$plaatje_nr.'>'.$value.'</PLAATJE'.$plaatje_nr.'>
';
}
Maar nu toont ie niet 3 regels, maar 1 regel met de inhoud:
Quote:
<plaatje_1>VNKK9474; VNKK9468; VNKK9464; VNKK9462;</plaatje1>
Waarschijnlijk denk ik iets te makkelijk....
Nog mooier is als je het netjes genormaliseerd opslaat als vier verschillende records in je tabel.
Quote:
VNKM2953,VNKM2821,VNKM2817,VNKL5770,VNKL5768,VNKL5259
Maar helaas niet het gewenste effect.
Inderdaad zou het anders mooier zijn, maar helaas kan ik aan de db niets aanpassen
Heb je dan ook die explode al gedaan?
Code (php)
Gewijzigd op 02/06/2017 17:33:13 door Michael -
Kan je die nummers niet in een attribuut zetten? Ik weet niet wat je met die output verder doet, maar het is logischer om er een soort tag van te maken.
Zo kan je uiteindelijk met DOMdocument of SimpelXML makkelijker er door heen lopen.
Gewijzigd op 02/06/2017 17:18:01 door - Ariën -
Vervolgens is de loop niet zo moeilijk (meer).
Mogelijke verbetering(en) in XML:
* maak gebruik van output buffering en echo alleen de variabele delen in je XML, en
* zorg dat je in je XML karakters die hier een speciale betekenis kunnen hebben escaped met de daarvoor bestemde escaping-functie
Gewijzigd op 03/06/2017 02:50:47 door Thomas van den Heuvel
Thomas van den Heuvel op 03/06/2017 02:50:21:
Begin bij het begin. Waarom zit deze informatie geserialiseerd in je database? Mogelijk wil je dat eerst eens opschonen.
Je doelt op normaliseren? Want dat had ik al eerder geroepen ;-)
Echter had hij al aangegeven dat dit op dit moment geen oplossing is.
Gewijzigd op 03/06/2017 11:49:10 door - Ariën -