Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Scorrere righe con SimpleXML

    Salve a tutti/e,

    ho un file xml così:
    codice:
    <?xml version="1.0"?>
    <images>
       <image>
         <photo>001.jpg</photo>
         <caption>001</caption>
         <tipo>1</tipo>
       </image>
       <image>
         <photo>002.jpg</photo>
         <caption>002</caption>
         <tipo>1</tipo>
       </image>
    ...
    Vorrei poter visualizzare un solo record alla volta e con i link avanti e indietro scorrere il precedente e successivo. Ho provato così:
    Codice PHP:
        $page = $_GET['page'];
        $i = $page;
        $next = $i+1;
        $prev = $i-1;

    $xml = simplexml_load_file('untitled.xml');

    $totale=count($xml->image);

    foreach($xml->image as $image) {
        $photo= $image->photo;
        $caption= $image->caption;
        $tipo= $image->tipo;

        for($i=$page;$i<$next;$i++) {
            echo "[b]numero: ".$i."[/b]
    ";
            echo "photo: ".$photo."
    ";
            echo "caption: ".$caption."
    ";
            echo "tipo: ".$tipo."

    ";
        }
        
    $i++;
    }
    ?>
    [url="file.php?page=<?php echo $prev?>"]indietro[/url] [url="file.php?page=<?php echo $next?>"]avanti[/url]
    Il problema è che visualizza tutte le immagini, caption e tipo... come lo modifico per leggere una alla volta?
    En la habana hay una pila 'e locos!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    8
    prova a togliere il secondo for

  3. #3
    No, altrimenti mi stampa a video tutti i record.
    Semplifico:
    Codice PHP:
    foreach($xml->image as $image) {
        
    $photo$image->photo;
        echo 
    "photo: ".$photo."
    "
    ;
        } 
    Questo stampa tutti i record contenuti in <photo></photo>.

    Io voglio stamparne solo uno e scorrere con avanti/indietro..... come faccio?
    En la habana hay una pila 'e locos!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    8
    prova a mettere all'interno di questo for 2 contatori, uno che s'incrementa con il next e l'altro
    si decrementa con il prev, dovrebbe funzionare..

  5. #5
    Posto la soluzione:
    Codice PHP:
        if($i==$page) {
        
    $photo$image->photo;
        echo 
    "photo: ".$photo."
    "
    ;
    ... 
    En la habana hay una pila 'e locos!

  6. #6
    Utente di HTML.it L'avatar di osiryx
    Registrato dal
    Dec 2002
    Messaggi
    1,021
    Codice PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <images>
    <image id="0">
    <photo>1.png</photo>
    <caption>001</caption>
    <tipo>1</tipo>
    </image>
    <image id="1">
    <photo>2.png</photo>
    <caption>002</caption>
    <tipo>1</tipo>
    </image>
    <image id="2">
    <photo>3.png</photo>
    <caption>003</caption>
    <tipo>1</tipo>
    </image>
    <image id="3">
    <photo>4.png</photo>
    <caption>002</caption>
    <tipo>1</tipo>
    </image>
    <image id="4">
    <photo>5.png</photo>
    <caption>002</caption>
    <tipo>1</tipo>
    </image>
    </images>
    Codice PHP:
    <?php 
    $id 
    $_GET['id'];
        
    $i $id;
        
    $next $i+1;
        
    $prev $i-1;
        
    $xml simplexml_load_file('image.xml');
    $totale=count($xml->image); 
    foreach (
    $xml->image as $image) {
        
    $id $image {'id'} ;
        if (
    $i == $id) {
            
    $photo $image->photo;
            echo 
    "photo: ".$photo."
    "
    ;
        }
    }
    ?>
    [url="player.php?id=<?php echo $prev?>"]indietro[/url]
    [url="player.php?id=<?php echo $next?>"]avanti[/url]
    Così funziona ma penso che si possa fare anche di meglio
    Avevo una ragazza, dovevamo sposarci, ma c'era un conflitto religioso.
    Lei era atea ed io agnostico. Non sapevamo *senza* quale religione
    educare i figli.
    -- Woody Allen

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 © 2020 vBulletin Solutions, Inc. All rights reserved.