XML en PHP
ik wil door middel van een formulier opgemaakt in XML, waardes opslaan met behulp van PHP in de database. Hoe doe ik dit ?
Het probleem is alleen dat dit dynamisch moet blijven....er moet een mogelijkheid zijn voor de beheerder om nieuwe opties toe te voegen...
Is deze XML goed ?
<formulier>
<algemeen>
<voornaam>Voornaam</voornaam>
<achternaam>Achternaam</achternaam>
<adres>adres</adres>
<emailadres>emailadres</emailadres>
</algemeen>
<geslacht id="1" naam="geslacht">
<optie>Man</optie>
<optie>Vrouw</optie>
</geslacht>
<land id="2" naam="land">
<optie>Nederland</optie>
<optie>Belgie</optie>
<optie>Frankrijk</optie>
</land>
<prijsvraag>
<vraag>Wat is de titel van het nieuwe album van U2 ?</vraag>
<antwoord id="3" naam="antwoord">
<antwoordoptie>Vertigo</antwoordoptie>
<antwoordoptie>How To Dismantle An Atomic Bomb</antwoordoptie>
<antwoordoptie>Zooropa</antwoordoptie>
<antwoordoptie>All That You Can`t Leave Behind</antwoordoptie>
</antwoord>
<prijs>Een voetreis naar Rome</prijs>
</prijsvraag>
</formulier>
ik heb deze tabellen...
uiteindelijk moet de content dus in de tabel "subscribers" komen te staan. De vraag is of ik nog een extra tabel nodig heb om de namen van de titels van de content weer te geven, omdat het dynamisch gebeurd. Ik ben de weg een beetje kwijt zeg maar....
CREATE TABLE `content_type_nieuwsbrief` (
`id` int(11) NOT NULL auto_increment,
`id_type_content` int(11) NOT NULL default '0',
`id_nieuwsbrieven` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
INSERT INTO `content_type_nieuwsbrief` VALUES (1, 1, 1);
INSERT INTO `content_type_nieuwsbrief` VALUES (2, 2, 1);
die id_nieuwsbrieven is alleen maar om aan te geven bij welke nieuwsbrief welke opmaak hoort, maar dat is logisch.
CREATE TABLE `content_types` (
`id` int(11) NOT NULL auto_increment,
`inputtype` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=7 ;
INSERT INTO `content_types` VALUES (1, 'kortetekst');
INSERT INTO `content_types` VALUES (2, 'langetekst');
INSERT INTO `content_types` VALUES (3, 'checkbox');
INSERT INTO `content_types` VALUES (4, 'radiobutton');
INSERT INTO `content_types` VALUES (5, 'plaatje');
INSERT INTO `content_types` VALUES (6, 'link');
CREATE TABLE `subscribers` (
`id` int(11) NOT NULL auto_increment,
`id_landen` int(11) NOT NULL default '0',
`voornaam` varchar(255) default NULL,
`achternaam` varchar(255) default NULL,
`email` varchar(255) default NULL,
`entrydate` datetime default NULL,
`active` enum('1','0') default NULL,
`ip` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `subscriber_FKIndex1` (`id_landen`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
INSERT INTO `subscribers` VALUES (1, 0, 'Robert', 'Maclean', '[email protected]', '2004-10-25 14:14:11', '1', '');
INSERT INTO `subscribers` VALUES (2, 0, 'Robin', 'Maat', '[email protected]', '2004-10-27 15:30:50', '1', '');
kom ik later op terug...ben even ermee bezig...
Eventueel met simple_xml()