Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Prendere dati da XML

  1. #1

    Prendere dati da XML

    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <articoli>
        <articolo>
            <id>1</id>
            <title>Articolo numero 1</title>
            <author>Mario Rossi</author>
            <text>Questo e' il primo testo di prova</text>
        </articolo>
        <articolo>
            <id>2</id>
            <title>Articolo numero 2</title>
            <author>Franco Bianchi</author>
            <text>Questo e' il secondo testo di prova</text>
        </articolo>
    </articoli>
    ho un XML di questo tipo.
    recupero i dati nella pagina index.php creando l'elenco così:

    Codice PHP:
    $xml simplexml_load_file('file.xml');

    foreach(
    $xml->articolo as $articolo)
    {
    echo 
    "<a href=\"articolo.php?id=".$articolo->id."\">".$articolo->title."</a>
    "
    ;


    ora però la pagina linkata (ad esempio articolo.php?id=1) come recupera i dati dentro "articolo" che hanno come id 1?


  2. #2
    ho risolto così, ma non so se è molto corretto...
    Codice PHP:
    $xml simplexml_load_file('file.xml');

    foreach(
    $xml->articolo as $articolo)
    {
    if(
    $articolo->id == $id) {
    echo 
    "ecco l'articolo [b]".$articolo->title."[/b]
    "
    ;
    }

    in ogni caso a questo punto ho un altra domanda... è possibile fare un elenco col foreach però con un "LIMIT" simile all'sql?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    ciao ,

    ovviamente devi rifare la ricerca dell'id all'interno della nuova pagina

    Codice PHP:

    <?php

    // recuperi l'id 

    $id $_GET['id'];

    // usi simple xml per ricercare il testo

    $xml simplexml_load_file('file.xml'); 

    foreach(
    $xml->articolo as $articolo) { 

    $num_articolo $articolo->id;

    if ( 
    $num_articolo == $id ) {

    echo 
    "Titolo".$articolo->title."
    "

    echo 
    "testo".$articolo->testo."
    "
    ;

    // e cosi via dicendo


    }

    }

    ?>
    dimmi se va bene , ciao
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    in che senso un limit? prelevare fino a x ? oppure da x a y ?
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  5. #5
    grande e grazie StarFinger.. funziona alla grande!!!
    intendo ad esempio ho un XML con 1000 record.. magari ne voglio mostrare 10 a pagina, come lo risolvo? con l'Sql farei LIMIT 0,10 con lo zero che è una variabile che aumenta di pagina in pagina.. con l'XML francamente non ne ho idea...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    xml non è proprio come un database, quindi non ha delle funzioni native per la gestione che tu vuoi. Ma con un pò di ingegno si può arrivare a tutto.

    Codice PHP:
    $xml simplexml_load_file('file.xml'); 

    if ( 
    $_GET['conta'] == TRUE ) {

    $conta $_GET['conta'];

    } else {

    $conta 0;

    }

    $contapiu $conta 10;

    foreach(
    $xml->articolo as $articolo) { 

    if ( 
    $conta $contapiu && $conta $_GET['conta']) {

    echo 
    "<a href=\"articolo.php?id=".$articolo->id."&conta=".$contapiu+10."\">".$articolo->title."</a>
    "


    $conta $conta 1;





    non l'ho provato il codice , ma suppongo funzioni, fammi sapere
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.