PHP ver gevorderde |
|
Inderdaad, je het gemakkelijkst is denk ik een XML-reader schrijven die één keer alle producten naar een database schrijft. Dat zal verderbouwen aan je systeem vergemakkelijken. Ik weet niet hoe je XML is opgebouwd, maar dit is hoe je het kan doen.
Maak eerst 2 tabellen in je database, categorieëen en producten. De tabel categorieëen heeft 2 velden: ID en naam. De tabel producten heeft minstens 3 velden: ID, naam en catID. Waarschijnlijk heb je nog wel meer velden nodig als prijs, beschrijving etc. maar die zijn nu niet relevant.
Lees één voor één elk product uit. In de XML zal in ieder geval de categorie en productnaam van het desbetreffende product staan.
Zoek in de tabel categorieëen of de categorie al bestaat. Zo nee, voeg 'm toe en gebruik dat ID als catID voor het product.
Zo ja, haal het ID ervan op en gebruik die als catID voor het product. Dan stop je het product in de tabel producten.
Zet de execution_time van je server wel even wat hoger, want dit script zal er wat langer over doen om te parsen dan een simpel gastenboekje.
Let ook op dat de categoriëen dezelfde naam hebben, dus bijvoorbeeld niet Oortelefoons en oortelefoons, dat kan al voor problemen zorgen (dat-ie ze als 2 aparte categorieëen ziet). |