Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    Veramente.....
    Vi chiedo di perdonare la mia ignoranza ma a questo codice:

    function convertidata($date) {
    list($y, $m, $d) = explode(".", $date);
    return "$d/$m/$y";

    mi restituisce questo errore:

    Notice: Undefined offset: 2 in C:\xampp\htdocs\Arcangelo\prova\new2.php on line 275

    Notice: Undefined offset: 1 in C:\xampp\htdocs\Arcangelo\prova\new2.php on line 275
    //0000-00-00



    linea 275--------->list($y, $m, $d) = explode(".", $date);

  2. #12
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    archivio ti ripeto che la data che estrai ha un formato sbagliato e sto ancora aspettando il dump dei dati che ti ho chiesto sopra.

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    Hai ragione scusa,
    vorrei solo farti presente che il 90% dei valori nel db sono null è vengono interpretati inizialmente come 0000.00.00 per poi essere trasformati dalla funzione che ti ho postato sopra in 01 Jan 1970 detto questo ti posto l'estrazione dei dati dal db e la loro successiva valorizzazione:

    //creo la connessione N° 10 per ottenere la Formazione del membro

    $comfor ="SELECT `formazione`.`RIF_MEM` , `members`.`ID_MEM` , `formazione`.`Descrizione` , `formazione`.`DAL` , `formazione`.`AL` , `formazione`.`DAL-AL` , `formazione`.`PROVINCE` , `formazione`.`COMMENT` , `formazione`.`Luogo` , `formazione`.`Titolo`
    FROM `formazione`
    LEFT JOIN `annuario`.`members` ON `formazione`.`RIF_MEM` = `members`.`ID_MEM`
    WHERE ID_MEM='$_REQUEST[ID_MEM]'";

    $formris = mysql_query($comfor) or die(mysql_error());
    // ho 2 cicli while che devo estrarre i dati contemporaneamente //
    $formcris = mysql_query($comfor) or die(mysql_error());
    $datiform = mysql_fetch_assoc($formris);

    $formdes = $datiform["Descrizione"];
    $formdal = $datiform["DAL"];
    $formal = $datiform["AL"];
    $formdal = $datiform["DAL-AL"];
    $formpro = $datiform["PROVINCE"];
    $formcom = $datiform["COMMENT"];
    $formluo = $datiform["Luogo"];
    $formtit = $datiform["Titolo"];

    quindi prima di scrivere il valore ottenuto nel campo di visualizzazione dichiaro la trasformazione del formato della data

    $date=$datiform["DAL"];
    $new_date=date("d M Y", strtotime($date));

    per poi richiamarlo all'interno della tabella:
    <td width="9%"><font style='font-weight:; color:red; background:white'>Dal</td><td width="35%"><font style=' color:green; background:white'><?php print"$new_date"?></td>

    di fatto quello che serve a me è semplicemente un controllo che se la data è null attribuisca alla variabile un valore di stringa al posto della conversione in 01 Jan 1970

    Ancora grazie per la pazienza e ti chiedo di perdonare la mia poca abilità

  4. #14
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ok bastava quel var dump cmq...

    per controllare unsa una regular expression ed un if :

    Codice PHP:

    $date
    =$datiform["DAL"];
    $pattern "/[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}/" ;

    if( !
    preg_match($pattern,$date) || $date == "0000-00-00" )
    {
       echo(
    "data non valida"); 
    }
    else
    {
       
    // Tuo Codice



  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    provo e ti faccio sapere.....

  6. #16
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    oki

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    Si sembra ok solo che mi mette assieme sia la stringa che il calore della variabile...
    Dal data non valida01 Jan 1970

    ti posto il codice

    $date=$datiform["DAL"];
    $pattern = "/[0-9]{4}\-[0-9]{2}\-[0-9]{2}/" ;
    $new_date=date("d M Y", strtotime($date));

    <td width="9%"><font style='font-weight:; color:red; background:white'>Dal</td><td width="35%"><font style=' color:green; background:white'><? if( !preg_match($pattern,$date) || $date == "0000-00-00" );echo("data non valida"); ?><?php print"$new_date"?></td>

    Provo ad inserire un OR nel codice....

  8. #18
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Virus_101
    ok bastava quel var dump cmq...

    per controllare unsa una regular expression ed un if :

    Codice PHP:

    $date
    =$datiform["DAL"];
    $pattern "/[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}/" ;

    if( !
    preg_match($pattern,$date) || $date == "0000-00-00" )
    {
       echo(
    "data non valida"); 
    }
    else
    {
       
    // Tuo Codice


    Regular expression ftw, comunque lo migliorerei cosi da contare anche giorni o mesi con una sola cifra

    Codice PHP:
    $date=$datiform["DAL"];
    $pattern "/[0-9]{4}\\-[0-9]{1,2}\\-[0-9]{1,2}$/" ;

    if( !
    preg_match($pattern,$date) || $date == "0000-00-00" )
    {
       echo(
    "data non valida"); 
    }
    else
    {
       
    // Tuo Codice



  9. #19
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Devi inserire il controllo prima -.-
    Se non inserisci i controlli hai poco da verificare ...


    Codice PHP:

    $date
    =$datiform["DAL"];
    $pattern "/[0-9]{4}\-[0-9]{2}\-[0-9]{2}/" ;

    if( !
    preg_match($pattern,$date) || $date == "0000-00-00" )
    {
       echo(
    "data non valida"); 
    }
    else
    {
       
    // Tuo Codice


    Evita evita evita
    $new_date=date("d M Y", strtotime($date));

    <td width="9%"><font style='font-weight:; color:red; background:white'>Dal</td><td width="35%"><font style=' color:green; background:white'><? if( !preg_match($pattern,$date) || $date == "0000-00-00" );echo("data non valida"); ?><?php print"$new_date"?></td>
    questo non e' mai da fare !!!!!!!!!!!!
    MAI!!!!!!

    Codice PHP:

    $date=$datiform["DAL"];
    $pattern = "/[0-9]{4}\-[0-9]{2}\-[0-9]{2}/" ;

    $dataHtml =  "N/D"; 
    if( !preg_match($pattern,$date) || $date == "0000-00-00" )
    {
       $dataHtml =  "data non valida"; 
    }
    else
    {
       // Tuo Codice
       $dataHtml = $date ;
    }

    ?>
    <td width="9%">
           <font style='font-weight:; color:red; background:white'>Dal
    </td>
    <td width="35%">
           <font style=' color:green; background:white'>
                 <?=$dataHtml ?>
           </font>
    </td>

    poi MAI uisare il tag font!!! usa il tag span con la relativa classe css applicata.
    font e' un tag deprecato.

  10. #20
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    Ci siamo !!!

    ho inserito questa stringa nel codice come da te suggerito è funziona perfettamente Grazie !

    <? if( !preg_match($pattern,$date) || $date == "0000-00-00" )echo("data non valida");else print"$new_date"?>

    Risolto Risolto Risolto

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