Opslaan in de database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nathaniel

Nathaniel

12/04/2009 20:54:00
Quote Anchor link
Hi,

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
 
PHP hulp

PHP hulp

22/12/2024 07:41:00
 
Arjan Kapteijn

Arjan Kapteijn

12/04/2009 20:58:00
Quote Anchor link
http://us2.php.net/simplexml ben je mee bekend?
 
Nathaniel

Nathaniel

12/04/2009 21:40:00
Quote Anchor link
Ja weet ik.
Maar dan moet je als input een xml bestand hebben. Maar die heb ik niet.
 
Arjan Kapteijn

Arjan Kapteijn

12/04/2009 21:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$xml
= simplexml_load_string($bericht);

var_dump($xml);
?>
 
Nathaniel

Nathaniel

13/04/2009 03:42:00
Quote Anchor link
Hier
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$string
= <<<XML
<deliveryreport>
<message id="msgID" sentdate="yyyyyy" donedate="xxxxx"
status="zzzzzz" />
</deliveryreport>
XML
;

$xml = simplexml_load_string($string);
foreach($xml->message[0]->attributes() as $beschrijving => $naam) {
    echo $beschrijving,'="',$naam,"\"\n";
}

?>


Maar hoe krijg ik $sentdate is yyyyyyy bijvoorbeeld?
 
Joren de Wit

Joren de Wit

13/04/2009 09:51:00
Quote Anchor link
Een kwestie van even goed in de handleiding kijken hoe je met het simplexml object werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>
 
Frank -

Frank -

13/04/2009 10:04:00
Quote Anchor link
Bovenstaande string is géén XML, de XML-declaratie ontbreekt. Wordt het zo aangeleverd of is dit maar een stukje uit het totale bericht?
 
Nathaniel

Nathaniel

13/04/2009 14:02:00
Quote Anchor link
Nee, het wordt zo aangeleverd.
 
Nathaniel

Nathaniel

13/04/2009 14:10:00
Quote Anchor link
De script van Blanche werkt perfect.
Maar het wordt aangeleverd in meervoud:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


Ik moet dus een foreach hebben... Hoe moet ik dat toevoegen aan de code van Blanche?
 
Joren de Wit

Joren de Wit

13/04/2009 14:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 />';
}

?>

Dan zou je het dus op deze manier aanpakken.
 
Nathaniel

Nathaniel

13/04/2009 14:39:00
Quote Anchor link
Geweldig! Echt bedankt ;)

Nu kom ik bij het volgende probleem:
Hun server laadt mijn pagina met het voorgaande code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


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
 
Joren de Wit

Joren de Wit

13/04/2009 14:42:00
Quote Anchor link
Wat wil je precies bereiken?
 
Nathaniel

Nathaniel

13/04/2009 14:51:00
Quote Anchor link
De $xml_string is iedere keer anders.

Hun server laadt mijn pagina met het voorgaande code.

Waarmee moet ik $xml_string vervangen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.