Opslaan in de database
Ik krijg een statusrapport van de SMSjes die ik verzend in de volgende vorm:
<deliveryreport>
<message id="msgID" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>
Hoe kan ik het opslaan in de database?
Ik bedoel: Ik weet hoe ik het moet opslaan. Maar hoe krijg ik bijvoorbeeld $sentdate is yyyyyyy?
Bedankt!
Nathaniel.
Gewijzigd op 01/01/1970 01:00:00 door Nathaniel
http://us2.php.net/simplexml ben je mee bekend?
Maar dan moet je als input een xml bestand hebben. Maar die heb ik niet.
Code (php)
Maar hoe krijg ik $sentdate is yyyyyyy bijvoorbeeld?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$xml_string = '<deliveryreport>
<message id="msgID" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>';
$xml = simplexml_load_string($xml_string);
$sentdate = $xml->message['sentdate'];
echo $sentdate;
?>
$xml_string = '<deliveryreport>
<message id="msgID" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>';
$xml = simplexml_load_string($xml_string);
$sentdate = $xml->message['sentdate'];
echo $sentdate;
?>
Bovenstaande string is géén XML, de XML-declaratie ontbreekt. Wordt het zo aangeleverd of is dit maar een stukje uit het totale bericht?
Nee, het wordt zo aangeleverd.
Maar het wordt aangeleverd in meervoud:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<deliveryreport>
<message id="msgID1" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID2" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID3" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
<message id="msgID4" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>
<message id="msgID1" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID2" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID3" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
<message id="msgID4" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>
Ik moet dus een foreach hebben... Hoe moet ik dat toevoegen aan de code van Blanche?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$xml_string = '<deliveryreport>
<message id="msgID1" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID2" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID3" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
<message id="msgID4" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>';
$xml = simplexml_load_string($xml_string);
foreach($xml->message as $message)
{
echo $message['sentdate'].'<br />';
}
?>
$xml_string = '<deliveryreport>
<message id="msgID1" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID2" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID3" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
<message id="msgID4" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>';
$xml = simplexml_load_string($xml_string);
foreach($xml->message as $message)
{
echo $message['sentdate'].'<br />';
}
?>
Dan zou je het dus op deze manier aanpakken.
Nu kom ik bij het volgende probleem:
Hun server laadt mijn pagina met het voorgaande code:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<deliveryreport>
<message id="msgID1" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID2" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID3" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
<message id="msgID4" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>
<message id="msgID1" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID2" sentdate="yyyyyy" donedate="xxxxx" status="zzzzzz" />
<message id="msgID3" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
<message id="msgID4" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>
Ik kan dus geen $_GET doen omdat het code niet in de url zit.
Wat moet ik dan doen?
Gewijzigd op 01/01/1970 01:00:00 door Nathaniel
Wat wil je precies bereiken?
Hun server laadt mijn pagina met het voorgaande code.
Waarmee moet ik $xml_string vervangen?