Avatar billede jonasjersborg Nybegynder
18. marts 2012 - 01:45 Der er 1 kommentar

XML til database

Hej Eksperter,

Jeg vil hører om nogle kan hjælpe mig med dette.
Jeg har noget XML som kommer ind via en URL
Denne skal jeg have lavet som et cronjob. som tjekker hver 3. min. Hvis den er opdateret (current timestamp er sidste ændring), så skal linien med NOW indsættes i databasen.

Har indsat en kopi af XML koden herunder

    {
       
       
            "now":{
                "status"            :"music"
                ,"track_title"        :"Friends"
                ,"album_title"        :""
                ,"track_title"        :"Friends"
                ,"display_artist"    :"Aura Dione feat. Rock Mafia"
                ,"genre"            :""
                ,"work_title"        :""
                ,"start_time"        :"2012-03-18T01:38:13"
            }
    ,
        "previous":[
            {
                "position"            :"1"
                ,"track_title"        :"Fake your beauty"
                ,"album_title"        :""
                ,"track_title"        :"Fake your beauty"
                ,"display_artist"    :"Bertine Zetlitz"
                ,"genre"            :""
                ,"work_title"        :""
                ,"start_time"        :"2012-03-18T01:34:18"
            }
            ]
        ,"info":{

            "channel":"P3"
            ,"source":"P3"
            ,"type":"radio"
           
           
                    , "currentStamp":"2012-03-18T01:34:18"
               
           
           

        }
    }
Avatar billede olebole Juniormester
18. marts 2012 - 02:28 #1
<ole>

Det har intet med XML at gøre. Det er JSON (JavaScript Object Notation)  =)

Jeg går udfra, du får det som en streng - lad os kalde den $json. Du begynder med at konvertere den til et PHP-object:

$objJson = json_decode($json);

Du har så dit timestamp liggende her:

$stamp = $objJson->info->currentStamp;

Er $stamp nyere end det, du har i databasen, indsætter du de nye data. De nye data henter du med:

$status = $objJson->now->status;
$trackTitle = $objJson->now->track_title;
$albumTitle = $objJson->now->album_title;
$displayArtist = $objJson->now->display_artist;
$genre = $objJson->now->genre;
$workTitle = $objJson->now->work_title;
$startTime = $objJson->now->start_time;

Resten er bare MySQL, som jeg går udfra, du kender til  =)

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester