Visualizzazione risultati 1 fino 25 di 25

Discussione: fare un sito con XML e PHP

  1. #1
    Guest

    Predefinito fare un sito con XML e PHP

    ho sentito dire in giro e spero che sia vero, che per esempio per siti che trattano prodotti, con XML si può creare una libreria, inserendo tutto, che poi interagisce con php e mostra in una pagina esempio degli articoli selezionati in base a determinate caratteristiche scelte.

    ho provato a cercare in rete ma nn ho trovato quello che fa al caso mio e allora ho ben pensato di chiedere a voi perchè se la cosa è fattibile a me interesserebbe molto il poterla adattare a siti che devono vendere pochi articoli, senza quindi dovermi appoggiare ad un database :P

    se davvero potrei ridurre a poche pagina quello che teoricamente senza database richiederebbe la creazione di decide e decine di pagine, mi farebbe decisamente risparmiare molto tempo

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Hai gia' guardato la documentazione di simplexml?

  3. #3
    Guest

    Predefinito

    no nn l'avevo manco trovata ma è tutto in inglese :(
    capisco a mala pena la metà di quello che ci sta scritto :(

  4. #4
    Guest

    Predefinito

    Intanto per iniziare puoi aprire il file così:
    Codice PHP:
    $xml = new SimpleXMLElement("http://sito.com/file.xml",NULL,TRUE);
    Poi per gestire gli articoli puoi usare il foreach, ricordando di creare un array nel file xml così:
    Codice PHP:
    <articolo>
    <
    titolo>Titolo</titolo>
    <
    data>31 agosto 2010</data>
    <
    testo>Testo di un articolo</testo>
    </
    articolo>

    <
    articolo>
    <
    titolo>Titolo</titolo>
    <
    data>31 agosto 2010</data>
    <
    testo>Testo di un articolo</testo>
    </
    articolo>

    <
    articolo>
    <
    titolo>Titolo</titolo>
    <
    data>31 agosto 2010</data>
    <
    testo>Testo di un articolo</testo>
    </
    articolo>
    Poi per gestirli con php:
    Codice PHP:
    foreach($xml->articolo as $articolo) {
    echo
    $articolo->titolo." - ".$articolo->data."<br />".$articolo->testo."<hr />";
    }
    Non è difficile usare XML! =)
    Ciauu!! ^^"

  5. #5
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    simplexml, da quello che ricordo, non gestisce al meglio i file xml, per questo esiste la classe DOM, ora non ricordo bene, ma mi sembra che la classe simplexml può eseguire solo operazione di lettura, o forze sbaglio?

    Cmq, se non capisci tutto quel manuale perché è tutto in inglese puoi dare un'occhiata a questo pdf ( in italiano ) che spiega, sia la classe simplexml, sia la classe DOM:

    http://www.apogeonline.com/2005/libr...k/appe2416.pdf
    Ultima modifica di sevenjeak : 31-08-2010 alle ore 15.28.10

    Sevenjeak
    Software developer and much more

  6. #6
    Guest

    Predefinito

    ho letto quello che mi hai linkato e qualcosa ci ho capito.
    quello che io avevo in mente di fare era una pagina con un select in modo da scegliere le categorie di prodotti oppure una tabella è uguale non mi cambia molto, in modo che il navigatore scelga quale categoria poter visualizzare e cliccando sopra esce una pagina strutturata in tabelle dove 1 cella contiene l'immagine, 1 cella la descrizione ed una cella il prezzo.
    insomma per essere più chiara che esca poi una viualizzazione tipo questa pagina

    http://sandy.altervista.org/ciro3/tappeti_erbosi.html

    è possibile riuscire a far ricreare una pagina come quella oppure no?
    volevo in caso di altri siti del genere complicarmi meno il lavoro, perchè quello sta uscendo una cosa a dir poca mostruosa a livello di quantità di pagine

    scusate se sono stressante ma sono le prime volte che mi approccio a questo genere di linguaggi e vorrei poterci capire meglio così mi faccio anche qualke test :)

  7. #7
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da sevenjeak Visualizza messaggio
    simplexml, da quello che ricordo, non gestisce al meglio i file xml, per questo esiste la classe DOM, ora non ricordo bene, ma mi sembra che la classe simplexml può eseguire solo operazione di lettura, o forze sbaglio?
    Non è che la "gestisce male", è solo che lo fa in modo molto diverso... c'è chi preferisce vedere il file XML come un albero logico (come fa la classe DOMDocument) e chi invece come un flusso nel quale intercettare uno o più "punti notevoli" (come fa SimpleXML).

    A mio parere, peraltro condiviso da molti, è che la classe DOMDocument sia più semplice da gestire per un novizio... anche se computazionalmente è molto più pesante (perché richiede il parsing di tutto il file all'inizio del codice).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  8. #8
    Guest

    Predefinito

    io ho provato a copiare esattamente quello che diceva la guida che mi ha passato sevenjeak
    ecco lo script
    Codice PHP:
    <html>
    <head>prova</head>
    <body>
    <?php
    $doc
    = new DOMDocument();
    $doc->preserveWhiteSpace = false;
    $doc->load("prova.xml");
    $root = $doc->DocumentElement;
    $keywords = $root->
    getElementsByTagName('Nome');
    echo
    '<ul>';
    foreach (
    $keywords as $kw)
    {
    echo
    '<li>' .
    htmlentities($kw->nodeValue) . '</li>';

    {
    echo
    '</ul>';

    ?>
    </body>
    </html>

    ora il punto è che mi da errore alla riga 22 e li ci sta </html>
    io nn capisco l'errore scusatemi :(
    Ultima modifica di dreadnaut : 31-08-2010 alle ore 19.30.22 Motivo: + tag [php] e indentazione

  9. #9
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Puoi scrivere l'esatto errore?
    Edit: forse ho capito: non hai chiuso il foreach (hai scritto { anziché }) e l'errore dice che il parser ha incontrato la fine del file, ma c'erano ancora due blocchi di codice non chiusi.
    Ultima modifica di karl94 : 31-08-2010 alle ore 18.34.45

  10. #10
    Guest

    Predefinito

    eccolo
    Parse error: syntax error, unexpected $end in /membri2/sandy/ciro3/prova2.php on line 22

  11. #11
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Hai chiuso male il blocco del foreach:
    Codice PHP:
    foreach(...)
    {

    {
    // l'errore è questo, sostituiscilo con la graffa chiusa => }

  12. #12
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Questo conferma quanto pensavo, rileggi il mio post precedente, l'avevo modificato prima che postassi l'errore.

  13. #13
    Guest

    Predefinito

    ok ora va ma ci sta un altro errore xD

    Fatal error: Call to undefined method: domdocument->load() in /membri2/sandy/ciro3/prova.php on line 246
    la linea 246 riporta questo

    $doc->load("prova.xml");

  14. #14
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Puoi scrivere il resto del codice? Almeno il codice PHP, tutto quello che è fuori non è importante.

  15. #15
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Devi correggere il file xml, devi sostituire questo:
    Codice:
    <? xml version="1.0"?>
    <? xml-stylesheet type="text-xls" href="8.2.xls"?>
    con questo:
    Codice:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text-xls" href="8.2.xls"?>

  16. #16
    Guest

    Predefinito

    corretto come ha detto karl ma nulla il problema persiste

    ecco il codice php

    Codice PHP:
    <?php
    $doc
    = new DOMDocument();
    $doc->preserveWhiteSpace = false;
    $doc->load("prova.xml");
    $root = $doc->DocumentElement;
    $keywords = $root->
    getElementsByTagName('Nome');
    echo
    '<ul>';
    foreach (
    $keywords as $kw)
    {
    echo
    '<li>' .
    htmlentities($kw->nodeValue) . '</li>';

    }
    echo
    '</ul>';

    ?>
    Ultima modifica di dreadnaut : 31-08-2010 alle ore 19.59.08 Motivo: + indentazione e tag [php]

  17. #17
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Hai attivato PHP5?

  18. #18
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    C'è un altro errore nel file xml:
    Codice:
    Errore interpretazione XML: non well-formed
    Indirizzo: http://sandy.altervista.org/ciro3/prova.xml
    Linea numero 12, colonna 31:	  
    <descrizione>buona usabilit￿</descrizione>
    ---------------------------^
    e devi rimuovere </xml>
    Ultima modifica di andreafallico : 31-08-2010 alle ore 20.10.56

  19. #19
    Guest

    Predefinito

    sisi php5 è attivo :)

  20. #20
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Il codice corretto è:
    Codice PHP:
    <?php
    $doc
    = new DOMDocument();
    $doc->load("prova.xml");
    $keywords = $doc->getElementsByTagName('nome');
    echo
    '<ul>';
    foreach (
    $keywords as $kw)
    {
    echo
    '<li>' .htmlentities($kw->nodeValue) . '</li>';

    }
    echo
    '</ul>';

    ?>
    dall'errore si vede che il php5 è disattivato.
    Io l'ho provato e funziona.

  21. #21
    Guest

    Predefinito

    ma guarda io ho usato un botto di script in php su questo spazio e tutti funzionanti
    quindi impossibile che php sia disattivato

  22. #22
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Infatti non è disattivato il PHP, ma nel tuo spazio gli script PHP vengono eseguiti dalla versione 4, mentre questa libreria necessita dalla versione 5. Consulta il wiki o il forum per sapere come attivare PHP5.

  23. #23
    Guest

    Predefinito

    ah ecco ora ho capito come mai non funziona nulla XD
    cmq nn trovo nulla nel pannello di controllo ke si riferisce al php

  24. #24
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

  25. #25
    Guest

    Predefinito

    ecco xkè nn lo trovavo sta nascosto nell'angolino dove nn entro mai XD
    cmq ora l'errore è andato via grazie :D
    solo ke vedo il nulla scritto boh dopo stresso qualcun altro a voi ho già stressato troppo in questi giorni :P

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •