FenrisC0de Skrevet 16. juni 2010 Del Skrevet 16. juni 2010 Ok,her har jeg en liten nøtt. Jeg har et Android program (java) på den ene siden som generer en xml fil som den laster opp til web gjennom HTTP POST og et .php script. Jeg ønsker dog at data som ligger i xml-filen skal legges inn i en database men jeg har liten erfaring med php og aner ikke helt hvordan jeg skal gå frem. Jeg tror dog det er ganske enkelt. Her er eksempel på xml fil. <?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <root> <ushout_message /> <data source="bf882ed25e322d48" reply_to="0" /> <message>Shout out to the world</message> </root> Jeg ønsker da et .php script som tar i mot denne xml filen og putter data inn i følgende databastabell: `id` INT( 6 ) NOT NULL , `source` INT( 20 ) NOT NULL , `reply` INT( 20 ) NOT NULL , `message` VARCHAR(200) NOT NULL , PRIMARY KEY ( `id` ) Ønsker da at id skal bli generert automatisk (kan forsåvidt bruke auto-increment) source = data source attributten i xml filen reply = reply_to i xml filen message = message i xml filen. Så da lurer jeg vel egentlig på om noen kan hjelpe meg eventuelt peke meg i riktig retning Lenke til kommentar
Kaptein Snus Skrevet 16. juni 2010 Del Skrevet 16. juni 2010 Du kan jo se på en av PHP sine inngebygde klasser: SimpleXMLElement Lenke til kommentar
MikkelRev Skrevet 17. juni 2010 Del Skrevet 17. juni 2010 Sånn ca fremgangsmåte: $xml=simplexml_load_file(xmlfil); //errorsjekk $xml'en med file_exists(), is_readable() og ===FALSE her foreach($xml->channel->item as $property=>$value) { echo "<br>data source: ".$value->date["source"]; echo "<br>message: ".$value->message; } Bruk var_dump($xml); eller echo "<pre>"; print_r($xml); echo "</pre>; for å sjekke array'en rett etter simplexml_load_file(); Lenke til kommentar
Alex Moran Skrevet 21. juni 2010 Del Skrevet 21. juni 2010 <?php // no.php.net/pdo $connection = new PDO('mysql:host=localhost;dbname=test', 'root', 'root'); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // no.php.net/simplexml $xml = simplexml_load_file('shout.xml'); $shout = $xml->root; $statement = $connection->prepare("INSERT INTO shouts (source, reply, message) VALUES(:source, :reply, :message)"); $statement->execute(array( ':source' => (string) $shout->data['source'], ':reply' => (string) $shout->data['reply_to'], ':message' => (string) $shout->message )); echo $connection->lastInsertId, 'was inserted into the database.'; Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå