• User

    gestire xml con PHP e problemi con le date !!!

    Ciao raga , io ho un piccolo problema , ho scritto questo piccolo file php , che va a leggere all'interno del database , e che mi crea direttamente un file pseudo xml per intenderci , molto comodo e veloce , lo uso in parecchie piccole applicazioni , fatte con flash , però non riesco a venire fuori da un inghippo , quando vado a fare l'estrazione in ordine di data ( che premetto vado a inserire io attraverso un pannellino , fatto ad hoc ) ,queste ultime mi si mettono in un ordine un po strano , mi spiego meglio sembra quasi che non estragga le date di ogni anno ma estraga solamente le date dell'anno scorso 2006 , quelle del 2007 non le vede , cosa potrebbe essere ??

    vi allego anche il file che uso .

    [php]
    <?php
    // Eseguo le operazioni di connessione al database MySQL
    $connessione = mysql_connect("localhost", "Sql*****", "password");
    mysql_select_db("database_name", $connessione);

    $selezionedati = "SELECT TITOLO, TESTONOTIZIA, ID, LINK, DATAPUBBLICAZIONE, SPECIFICHE, date_format(DATA,'%d/%m/%Y')DATA FROM prova1 ORDER BY 'data' DESC LIMIT 10";
    $query = mysql_query($selezionedati) or die(mysql_error());

    // Modifico l'intestazione e il tipo di documento da PHP a XML
    @header("Content-type: text/xml");
    ?>
    <?php

    echo ("<?xml version="1.0" encoding="UTF-8"?>");
    ?>
    <?php
    echo ("<news>");
    while($array = mysql_fetch_array($query)){
    extract($array);
    echo "
    <item newsid="0$ID">
    <titolo><![CDATA[$TITOLO]]>
    </titolo>
    <testonotizia><![CDATA[$TESTONOTIZIA]]>
    </testonotizia>
    <link><![CDATA[index.php?id_menu=8&ID=$ID]]>
    </link>
    <datapubblicazione><![CDATA[$DATA]]></datapubblicazione>
    </item>"
    ;
    }
    echo ("</news>");
    ?>[/php]

    e questo è il file xml che creo

    <?xml version="1.0" encoding="UTF-8" ?>
    - <news>
    - <item newsid="090">
    - <titolo>
    - <![CDATA[ ]]>f(clean);
    </titolo>

    - <testonotizia>
    - <![CDATA[ ]]>f(clean);
    </testonotizia>

    - <link>
    - <![CDATA[ index.php?id_menu=8&ID=90 ]]>f(clean);
    </link>

    - <datapubblicazione>
    - <![CDATA[ 23/06/2007 ]]>f(clean);
    </datapubblicazione>

    </item>

    - <item newsid="089">
    - <titolo>
    - <![CDATA[ ]]>f(clean);
    </titolo>

    - <testonotizia>
    - <![CDATA[ ]]>f(clean);
    </testonotizia>

    - <link>
    - <![CDATA[ index.php?id_menu=8&ID=89 ]]>f(clean);
    </link>

    - <datapubblicazione>
    - <![CDATA[ 20/07/2007 ]]>f(clean);
    </datapubblicazione>

    </item>

    - <item newsid="087">
    - <titolo>
    - <![CDATA[ ]]>f(clean);
    </titolo>

    - <testonotizia>
    - <![CDATA[ ]]>f(clean);
    </testonotizia>

    - <link>
    - <![CDATA[ index.php?id_menu=8&ID=87 ]]>f(clean);
    </link>

    - <datapubblicazione>
    - <![CDATA[ 13/06/2007 ]]>f(clean);
    </datapubblicazione>

    </item>

    - <item newsid="086">
    - <titolo>
    - <![CDATA[ ]]>f(clean);
    </titolo>

    - <testonotizia>
    - <![CDATA[ ]]>f(clean);
    </testonotizia>

    - <link>
    - <![CDATA[ index.php?id_menu=8&ID=86 ]]>f(clean);
    </link>

    - <datapubblicazione>
    - <![CDATA[ 18/07/2007 ]]>f(clean);
    </datapubblicazione>

    </item>

    - <item newsid="083">
    - <titolo>
    - <![CDATA[ ]]>f(clean);
    </titolo>

    - <testonotizia>
    - <![CDATA[ ]]>f(clean);
    </testonotizia>

    - <link>
    - <![CDATA[ index.php?id_menu=8&ID=83 ]]>f(clean);
    </link>

    - <datapubblicazione>
    - <![CDATA[ 05/05/2007 ]]>f(clean);
    </datapubblicazione>

    </item>

    - <item newsid="028">
    - <titolo>
    - <![CDATA[ ]]>f(clean);
    </titolo>

    - <testonotizia>
    - <![CDATA[ ]]>f(clean);
    </testonotizia>

    - <link>
    - <![CDATA[ index.php?id_menu=8&ID=28 ]]>f(clean);
    </link>

    - <datapubblicazione>
    - <![CDATA[ 14/09/2003 ]]>f(clean);
    </datapubblicazione>

    </item>

    </news>

    qualcuno per cortesia saprebbe aiutarmi ??:bho:


  • User

    @Elvenesian said:

    Ciao raga , io ho un piccolo problema , ho scritto questo piccolo file php , che va a leggere all'interno del database , e che mi crea direttamente un file pseudo xml per intenderci , molto comodo e veloce , lo uso in parecchie piccole applicazioni , fatte con flash , però non riesco a venire fuori da un inghippo , quando vado a fare l'estrazione in ordine di data ( che premetto vado a inserire io attraverso un pannellino , fatto ad hoc ) ,queste ultime mi si mettono in un ordine un po strano , mi spiego meglio sembra quasi che non estragga le date di ogni anno ma estraga solamente le date dell'anno scorso 2006 , quelle del 2007 non le vede , cosa potrebbe essere ??

    vi allego anche il file che uso .

    [php]
    <?php
    // Eseguo le operazioni di connessione al database MySQL
    $connessione = mysql_connect("localhost", "Sql*****", "password");
    mysql_select_db("database_name", $connessione);

    $selezionedati = "SELECT TITOLO, TESTONOTIZIA, ID, LINK, DATAPUBBLICAZIONE, SPECIFICHE, date_format(DATA,'%d/%m/%Y')DATA FROM prova1 ORDER BY 'data' DESC LIMIT 10";
    $query = mysql_query($selezionedati) or die(mysql_error());

    // Modifico l'intestazione e il tipo di documento da PHP a XML
    @header("Content-type: text/xml");
    ?>
    <?php

    echo ("<?xml version="1.0" encoding="UTF-8"?>");
    ?>
    <?php
    echo ("<news>");
    while($array = mysql_fetch_array($query)){
    extract($array);
    echo "
    <item newsid="0$ID">
    <titolo><![CDATA[$TITOLO]]>
    </titolo>
    <testonotizia><![CDATA[$TESTONOTIZIA]]>
    </testonotizia>
    <link><![CDATA[index.php?id_menu=8&ID=$ID]]>
    </link>
    <datapubblicazione><![CDATA[$DATA]]></datapubblicazione>
    </item>"
    ;
    }
    echo ("</news>");
    ?>[/php]

    e questo è il file xml che creo

    qualcuno per cortesia saprebbe aiutarmi ??:bho:

    opppsss , mi sa che ho messo in crisi nche voi con questa domanda !!!!❌x❌x:x


  • User Attivo

    Ciao
    Io ho avuto lo stesso problema, e ho capito che il "casino" lo fa il date_format.
    Sicuramente ci sarà qualche modo più pulito per risolverlo, io feci cosi: ho tolto il data_format dalla select in modo che i record li prendi ordinati come vuoi tu, con l'order By data DESC, poi, una volta messo la data in una variabile $DT, con delle semplice funzioni stringhe, facevo stampare la data nel formato che volevo. Un pò machcinoso ma funzionante...
    Ciao