Zelfde $key's uitlezen in XML ..
XML
<photos>
<photo>
http://foto.jpg
</photo>
<photo>
http://foto2.jpg
</photo>
<photo>
http://foto3.jpg
</photo>
</photos>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$object['photos'] = mysql_real_escape_string($product->photos);
foreach ($product->photos as $foto) {
$object['photo'] = $foto->photo;
}
?>
$object['photos'] = mysql_real_escape_string($product->photos);
foreach ($product->photos as $foto) {
$object['photo'] = $foto->photo;
}
?>
Alleen hij pakt alleen maar 1 foto.
Hoe krijg ik de andere fotos in een andere $var?
Kunnen we iets meer code te zien krijgen? Ik heb geen idee waar $product vandaan komt, of wat het is.
Alle foto's zullen de foreach() passeren. Alleen jouw probleem is dat je $object['photo'] steeds overschrijft.
En hoe vul je $product?
Gewijzigd op 20/12/2013 20:03:39 door Ger van Steenderen
Code (php)
Dit gaat prima, alleen de fotos worden niet allemaal meegenomen..
Gewijzigd op 20/12/2013 20:17:03 door ki ma
Code (php)
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
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
<?php
$test='<?xml version="1.0" ?>
<products>
<product>
<name>product1</name>
<photos>
<photo>photo1-1</photo>
<photo>photo1-2</photo>
<photo>photo1-3</photo>
</photos>
</product>
<product>
<name>product2</name>
<photos>
<photo>photo2-1</photo>
<photo>photo2-2</photo>
<photo>photo2-3</photo>
</photos>
</product>
</products>';
$xml = simplexml_load_string($test);
echo '<pre>';
var_dump($xml);
echo '</pre>';
?>
$test='<?xml version="1.0" ?>
<products>
<product>
<name>product1</name>
<photos>
<photo>photo1-1</photo>
<photo>photo1-2</photo>
<photo>photo1-3</photo>
</photos>
</product>
<product>
<name>product2</name>
<photos>
<photo>photo2-1</photo>
<photo>photo2-2</photo>
<photo>photo2-3</photo>
</photos>
</product>
</products>';
$xml = simplexml_load_string($test);
echo '<pre>';
var_dump($xml);
echo '</pre>';
?>
Resultaat:
Code (php)
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
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
object(SimpleXMLElement)#1 (1) {
["product"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#2 (2) {
["name"]=>
string(8) "product1"
["photos"]=>
object(SimpleXMLElement)#4 (1) {
["photo"]=>
array(3) {
[0]=>
string(8) "photo1-1"
[1]=>
string(8) "photo1-2"
[2]=>
string(8) "photo1-3"
}
}
}
[1]=>
object(SimpleXMLElement)#3 (2) {
["name"]=>
string(8) "product2"
["photos"]=>
object(SimpleXMLElement)#4 (1) {
["photo"]=>
array(3) {
[0]=>
string(8) "photo2-1"
[1]=>
string(8) "photo2-2"
[2]=>
string(8) "photo2-3"
}
}
}
}
}
["product"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#2 (2) {
["name"]=>
string(8) "product1"
["photos"]=>
object(SimpleXMLElement)#4 (1) {
["photo"]=>
array(3) {
[0]=>
string(8) "photo1-1"
[1]=>
string(8) "photo1-2"
[2]=>
string(8) "photo1-3"
}
}
}
[1]=>
object(SimpleXMLElement)#3 (2) {
["name"]=>
string(8) "product2"
["photos"]=>
object(SimpleXMLElement)#4 (1) {
["photo"]=>
array(3) {
[0]=>
string(8) "photo2-1"
[1]=>
string(8) "photo2-2"
[2]=>
string(8) "photo2-3"
}
}
}
}
}
2 regels verder doe je dat ook met je fotos.
$product['fotos'][] = .......
Bedankt voor je uitleg! Nu heb ik hem te pakken. Het code woord bij deze is wel de var_dump(); nu snap ik hoe het is opgebouwd en dus hoe ik de variabelen kan benaderen.
$foto2->photo[0]; // eerste foto
$foto2->photo[1]; // tweede foto
Nu kom ik er verder wel uit :)