Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    date... non riesco a tirar fuori la parte che mi interessa dalla pillola di piero

    Scusate, ho cercato e ho trovato una pillola alla quale mi inchino, ma non hocapito..come trattare i miei dati...
    è facilissimo...ma non per me!!!
    devo far stampare una data una voltas interrogato il db.
    nel db la data è memoprizzata come YYYY-MM-DD,
    io devo farla stampare al contrario con questi campi (d-m-YY)

    ho provato facendo:

    Codice PHP:
    //echo $data; <--prova fatta per vedere se mi riportava la data richiamata dal db e fin qui funziona bene anche se mi lascia la data come da db(non invertita) !!

    metodo n°1

    //$data_invertita1 = date("d-m-Y",$data); // dovrebbe stampare un output XX-YY-ZZZZ

    -------------

    metodo n°2

    //$data_invertita2 = date("d-m-Y",$data); 
    <td>data di inserimento:
    Codice PHP:
    //se utilizzo il metodo 2
    echo $data_invertita2

    //oppure se utilizzo il metodo 1
    echo $data_invertita1
    </td>

    con il metodo 1 mi stampa le date come vengono richiamate, cioè senza invertirle!!(praticamente rimane come la prova dell'echo sopra)
    con il metodo 2 nella sezione td mi stampa le tutte le date = 01-01-1970

    dove sbaglio?? come devo impostare la funzione affinche le date vengano stampate nell'ordine che vorrei??

  2. #2
    scusa ma quel'è la differenza tra il metodo 1 e 2?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    codice:
    <?php function converti($drmdata)
             {
                    $giorno_conv=substr($drmdata,8,2);
                    $mese_conv=substr($drmdata,5,2);
                    $anno_conv=substr($drmdata,0,4);
                    $drmdata=$giorno_conv."-".$mese_conv."-".$anno_conv;
                    return $drmdata;
             }
    ?>
    e dove devi fare l'echo delladata metti:

    codice:
    <input name="data_a" type="text" id="data_a" value="<?php $data_a = converti($row_Recordset1['data__a']); echo  $data__a; ?>

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    O la inverti direttamente da mysql

    select campo1,campo2,date_format(datas,"%d-%m-%Y") as datait from tabella

    oppure se la recuperi nel formato aaaa-mm-gg

    la esplodi così
    es
    $data = "2005-10-10";
    list($anno,$mese,$giorno) = explode('-',$data);
    echo $giorno.'/'.$mese.'/'.$anno;

    la funzione date che usi tu non va bene perchè il secondo parametro deve essere un timestamp e non una data. guarda il manuale.
    http://se2.php.net/manual/it/function.date.php

    oppure usi substr come ti hanno suggerito, un'espressione regolare, ecc. I metodi non mancano.

  5. #5
    Se e' in database nel formato yyyy-m-d usa il performante date_format nella query stessa:

    SELECT *, date_format(campo, 'd/m/Y') as data_it from tabella....

    il dato lo trovi nell'alias data_it.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da nicola75ss
    oppure usi substr come ti hanno suggerito, un'espressione regolare, ecc. I metodi non mancano.
    tutti piu' onerosi in termini di elaborazione delle due righe scritte da te....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da piero.mac
    tutti piu' onerosi in termini di elaborazione delle due righe scritte da te....
    Hai ragione, era giusto per fornire tutte le alternative.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    grazie a tutti!!
    fra tutto ciò che ho letto...che avete scritto
    ho risolto così facendo (sperando che sia ilmodo migliore):

    Codice PHP:
    $sqlnews=mysql_query("select * from news order by id");?>


    while($result1=mysql_fetch_array($sqlnews))  {
            
                      $id=$result1[id];
             $titolo=$result1[titolo];
                      $straccio=$result1[straccio];
             $testo=$result1[testo];
             $data=$result1[data];
        list($anno,$mese,$giorno) = explode('-',$data);
        //echo $giorno.'/'.$mese.'/'.$anno;

                            .
                            .
                            .
                            .
                   <tr>
                        <td>data di inserimento: 
    <? 
                
    echo $giorno.'/'.$mese.'/'.$anno;;
    ?>
               </td>
              </tr><? ?>
    P.S. ho soltanto inserito la list dopo il while -la select l'ho lasciata uguale-,
    e modificato logicamente l'echo sotto

    Bella là! grazie!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    cmq piero il metodo di impostare la select con il date_format non sò perchè ma mi dava errore! probabilmente commettevo un errore di sintassi o non saprei
    (lo avevo preso dalla tua guida)

    Cmq grazie mille!! sempre utilissimi e velocissimi nella risposta!!

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.