Inderdaad, en op deze pagina staan een paar prima functies daarvoor (in de comments): http://nl3.php.net/xml_parsequote:Op woensdag 14 januari 2009 07:29 schreef SuperRembo het volgende:
[..]
Je loopt recursief door de xml tree heen en bouwt ondertussen de array op. Lijkt me vrij recht toe recht aan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $row = 0; $row_2= 0; $dump = array(); foreach ($xml AS $data){ $dump[$row] = $data; $row++; } foreach ($dump AS $data_2){ echo $data_2->NAAM; echo '<br />'; } |
En dat is een probleem omdat?quote:foto Op woensdag 14 januari 2009 09:50 schreef Likkende_Lassie het volgende:
Ik probeer het volgende, en ik kan niet anders dan de atribute op te roepen als $data_2->NAAM ipv $data_2[0];..
[ code verwijderd ]
Zorgen dat er arrays in komen, en geen objectenquote:Op woensdag 14 januari 2009 11:05 schreef Likkende_Lassie het volgende:
ik het niet zo wil aan roepen![]()
dus hoe dat te doen?
Je kan die hash die door simplexml wordt gemaakt toch omzetten naar elk formaat dat je zelf wil? Daar kun je gewoon je eigen routine voor schrijven. Of je zou je kunnen afvragen waarom je perse de data als array wil benaderen, wat is precies het voordeel?quote:foto Op woensdag 14 januari 2009 11:05 schreef Likkende_Lassie het volgende:
[..]
ik het niet zo wil aan roepen![]()
dus hoe dat te doen?
1 2 3 4 5 6 7 | foreach($xml->body[0]->attributes() as $a => $b) { if($a=='type') { echo $a,'="',$b,"\"</br>"; }else{ } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $dom = new DomDocument(); $dom->load('/uploads/'.$_GET['option_2']); foreach ($dom->documentElement->childNodes as $articles) { if ($articles->nodeType == 1 && $articles->nodeName == "INFO") { foreach ($articles->childNodes as $item) { if ($item->nodeType == 1 AND $i < 1) { $files[0][] = $item->nodeName; } } $i++; } } ?> |
1 2 3 4 5 6 7 8 9 10 | images.id AS imageID, images.filex , images.filey FROM images_tree LEFT JOIN images ON images.cat_id = images_tree.id WHERE images_tree.tree_id = '1' GROUP BY images_tree.id ORDER BY images_tree.title LIMIT 20, 20 |
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 | -- Tabel structuur voor tabel `images` -- CREATE TABLE IF NOT EXISTS `images` ( `id` int(10) unsigned NOT NULL auto_increment, `cat_id` mediumint(8) unsigned NOT NULL, `user_id` mediumint(8) unsigned NOT NULL, `user_ip` varchar(32) NOT NULL, `filename` varchar(32) NOT NULL, `filedate` date NOT NULL, `filetype` char(1) NOT NULL, `filesize` int(10) unsigned NOT NULL, `filecrc` varchar(15) NOT NULL, `filex` mediumint(8) unsigned NOT NULL, `filey` mediumint(8) unsigned NOT NULL, `views` int(10) unsigned NOT NULL, `vote` tinyint(3) unsigned NOT NULL, `votes` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `filesize` (`filesize`,`filecrc`,`filex`,`filey`,`cat_id`), KEY `cat_id` (`cat_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -------------------------------------------------------- -- -- Tabel structuur voor tabel `images_tree` -- CREATE TABLE IF NOT EXISTS `images_tree` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `tree_id` mediumint(8) unsigned NOT NULL, `title` varchar(32) NOT NULL, `description` varchar(255) NOT NULL, `images` mediumint(8) unsigned NOT NULL, `images_size` bigint(20) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`,`tree_id`), KEY `title` (`title`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
1 2 3 | 1 SIMPLE images_tree index NULL title 34 NULL 1364 Using where; Using temporary 1 SIMPLE images ref cat_id cat_id 3 ****.images_tree.id 54 |
Dat heb je wanneer je LIMIT gebruikt.quote:foto Op donderdag 15 januari 2009 17:16 schreef Chandler het volgende:
Ja die index werkt idd heerlijk
-edit-
alleen bij de eerste pagina's scheelt het aardig, maar hoever ik in de database kom (qua records) hoe langzamer
ik doel eropquote:
1 2 3 4 5 | $PLAATJE = "rand(1,9)" echo "<img src =\"leukplaatje".$PLAATJE.".jpg\"/> "; ?> |
nee ik bedoel weren tegen sql injecties.quote:Op donderdag 15 januari 2009 20:36 schreef Xcalibur het volgende:
wat wil je dan beveiligen? en waarom?![]()
het random plaatje wat je post is op zich hartstikke leuk natuurlijk, maar heeft niks met beveiling te maken
Door te zorgen dat je in ieder geval niet de 25 gevaarlijkste programmeerfouten maakt.quote:foto Op donderdag 15 januari 2009 20:37 schreef cablegunmaster het volgende:
[..]
nee ik bedoel weren tegen sql injecties.
weren tegen kut users die mijn site proberen plat te leggen.
users die mn database proberen te mollen!
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |
Dat begrijpen we, maar is wel erg jammer. Je kunt FOK! namelijk wel gratis LEZEN, maar we kunnen FOK! niet gratis MAKEN. De inkomsten van de advertenties zorgen ervoor dat we de kosten van de site kunnen dragen zodat je ook morgen FOK! nog kunt bezoeken.
Zou je willen overwegen om voor FOK! een uitzondering te maken in je adblocker (of andere middelen die onze ads blokkeren)? Je krijgt deze melding dan nooit meer te zien.
Ja, ik wil fok.nl whitelisten, laat me zien hoe
Ik neem liever een premium account zodat ik geen advertenties hoef te zien (je moet eerst inloggen)
Ja, breng me naar de shop