Conversion date php

Julien -  
Thamior Messages postés 267 Statut Membre -
Bonjour,
Je recupere des dates de ma base de donnée sous la forme AAAA-mm-dd sous forme de variable $val['date'] et j'aimerai les afficher dans un tableau sous la forme dd-mm-AAAA.
Quelqu'un pourrait m'aider?
Merci

18 réponses

  1. Thamior Messages postés 267 Statut Membre 47
     
    En faite, la date que tu as dans $_POST['date'] est sous la forme de jj,mm,aaaa donc le split sur le - ne pouvait pas marché car il aurait fallu que la date soit sous la forme jj-mm-aaaa.

    J'ai juste remplacé le caractère qui sépare le jour, le mois et l'année dans le split afin de te rendre une date convertie sous la forme aaaa-mm-jj.

    Bonne journée,
    Thamior.
    1
  2. Thamior Messages postés 267 Statut Membre 47
     
    Bonjour,

    Je te conseillerai d'utiliser la méthode split :

    $tabdate = split("-", $val['date']);
    $date = $tabdate[2] ."-".$tabdate[$1]."-".$tabdate[0];

    Normalement ça devrait te donner la date comme tu le souhaite.

    Bonne journée,
    Thamior.
    0
  3. Julien
     
    Merci de ta reponse,
    maintenant ca me mt un message d'erreur:
    syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in C:\wamp\www\Tests\historique.php on line 14
    La ligne 14 correspondant à : $date = $tabdate[2] ."-".$tabdate[$1]."-".$tabdate[0];
    0
  4. styvodiabolo Messages postés 44 Statut Membre
     
    Il y a un $ dans la valeur de ton tabdate : $tabdate[$1] --> mieux vaut l'enlever ;)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Thamior Messages postés 267 Statut Membre 47
     
    Oui, je viens de voir, petite erreur de ma part désolé ^^.

    J'ai testé le code et hormis ce "$" en trop le reste fonctionne ;).

    Thamior.
    0
  7. Julien
     
    c'est bien comme ça que je doit faire?
    $recherche = "SELECT * FROM timken ORDER BY id";
    $query = mysql_query($recherche);

    $tabdate = split("-", $val['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];

    echo'<table style="border: 2px solid #000000; text-align:center; width: 1000px;">
    <tr>
    <th style="border: 1px solid #000000; background: #6daef7;">ID</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Numéro de CN</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Date</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Poste concerné</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Consommable remplacé</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Code magasin</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Symptôme</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Nom de l\'intervenant</th>
    </tr>';

    while($val=mysql_fetch_array($query)){
    echo'<tr>
    <td align="center" style="border: 1px solid #000000;">'.$val['id'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['CN'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['date'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['poste'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['consommable'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['magasin'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['symptome'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['intervenant'].'</td>
    </tr>';
    }

    echo'</table>';

    Enfin, je doit mal m'y prendre car ça ne marche pas
    0
  8. Thamior Messages postés 267 Statut Membre 47
     
    Petite solution :

    $recherche = "SELECT * FROM timken ORDER BY id";
    $query = mysql_query($recherche);

    $tabdate = split("-", $val['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];

    echo'<table style="border: 2px solid #000000; text-align:center; width: 1000px;">
    <tr>
    <th style="border: 1px solid #000000; background: #6daef7;">ID</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Numéro de CN</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Date</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Poste concerné</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Consommable remplacé</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Code magasin</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Symptôme</th>
    <th style="border: 1px solid #000000; background: #6daef7;">Nom de l\'intervenant</th>
    </tr>';

    while($val=mysql_fetch_assoc($query)){
    $tabdate = split("-", $val['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];
    echo'<tr>
    <td align="center" style="border: 1px solid #000000;">'.$val['id'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['CN'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$date.'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['poste'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['consommable'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['magasin'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['symptome'].'</td>
    <td align="center" style="border: 1px solid #000000;">'.$val['intervenant'].'</td>
    </tr>';
    }

    echo'</table>';

    Teste ça pour voir.

    Thamior.
    0
  9. Alain_42 Messages postés 5413 Statut Membre 904
     
    Bonsoir,

    au début, après la ligne $query=

    $tabdate = split("-", $val['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];


    ne sert à rie, tu peux les enlever
    0
  10. Julien
     
    Merci Thamior, ca marche.
    Je peut te demander autre chose.

    En fait je voudrai aussi savoir passer la date en us pour l'envoyer du formulaire à la base de donnée.
    Je passe par la page suivante:
    <?php

    if(empty($_POST['intervenant']) || empty($_POST['date']) || empty($_POST['CN']) || empty($_POST['poste']) || empty($_POST['symptome']) || empty($_POST['consommable']) || empty($_POST['magasin'])){
    echo '<script>alert(\'Vous n\avez pas rempli tous les champs!\')</script>';
    echo'<meta http-equiv="refresh" content="0 url=saisiedesdonnees.php"/>';
    } else {
    //on renomme les variables POST
    $intervenant = $_POST['intervenant'];
    $date_fr = $_POST['date'];
    $CN = $_POST['CN'];
    $poste = $_POST['poste'];
    $symptome = $_POST['symptome'];
    $magasin = $_POST['magasin'];
    $consommable = $_POST['consommable'];

    include('./sql.inc.php');

    connect_sql();

    //on ajoute dans la base de données
    $ajout = "INSERT INTO timken VALUES ('', '$CN', '$date', '$poste', '$consommable', '$magasin', '$symptome', '$intervenant')";
    $query = mysql_query($ajout);

    disconnect_sql();

    if($query){
    echo '<script>alert(\'Votre intervention a bien été enregistrée!\')</script>';
    echo'<meta http-equiv="refresh" content="0 url=saisiedesdonnees.php"/>';

    } else {
    echo'Une erreur est survenue!';
    }
    }

    ?>
    0
  11. Julien
     
    J'ai fait erreur pour le nom de la date egale au post en fait c'est:
    //on renomme les variables POST
    $intervenant = $_POST['intervenant'];
    $date = $_POST['date'];
    $CN = $_POST['CN'];
    $poste = $_POST['poste'];
    $symptome = $_POST['symptome'];
    $magasin = $_POST['magasin'];
    $consommable = $_POST['consommable'];
    0
  12. Thamior Messages postés 267 Statut Membre 47
     
    Le format de la date est jj-mm-aaaa ?

    Si c'est le cas :

    $tabdate = split("-", $_POST['poste']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];

    Avec ça, ça devrait marché.

    Thamior.
    0
  13. Julien
     
    oui c'es bien ce format là
    mais je doit l'avoir mal inserer cr ça marche pas:
    <?php

    if(empty($_POST['intervenant']) || empty($_POST['date']) || empty($_POST['CN']) || empty($_POST['poste']) || empty($_POST['symptome']) || empty($_POST['consommable']) || empty($_POST['magasin'])){
    echo '<script>alert(\'Vous n\avez pas rempli tous les champs!\')</script>';
    echo'<meta http-equiv="refresh" content="0 url=saisiedesdonnees.php"/>';
    } else {
    //on renomme les variables POST
    $intervenant = $_POST['intervenant'];
    $date = $_POST['date'];
    $CN = $_POST['CN'];
    $poste = $_POST['poste'];
    $symptome = $_POST['symptome'];
    $magasin = $_POST['magasin'];
    $consommable = $_POST['consommable'];

    $tabdate = split("-", $_POST['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];

    include('./sql.inc.php');

    connect_sql();

    //on ajoute dans la base de données
    $ajout = "INSERT INTO timken VALUES ('', '$CN', '$date', '$poste', '$consommable', '$magasin', '$symptome', '$intervenant')";
    $query = mysql_query($ajout);

    disconnect_sql();

    if($query){
    echo '<script>alert(\'Votre intervention a bien été enregistrée!\')</script>';
    echo'<meta http-equiv="refresh" content="0 url=saisiedesdonnees.php"/>';

    } else {
    echo'Une erreur est survenue!';
    }
    }

    ?>
    0
  14. Thamior Messages postés 267 Statut Membre 47
     
    Tu as affiché la requête SQL pour voir ce qu'il y avait dedans ?

    Vérifie aussi ce qu'il y a dans date ($_POST['date'] ainsi que de dans $date).

    Je ne vois pas l'erreur...

    Thamior.
    0
  15. Julien
     
    Je ne voit pas ce que tu veut dire par: Tu as affiché la requête SQL pour voir ce qu'il y avait dedans ?

    et comment je peut vérifie ce qu'il y a dans date ($_POST['date'] ainsi que de dans $date).
    0
  16. Thamior Messages postés 267 Statut Membre 47
     
    Tu fais :

    echo "<p>Date post : $_POST[date] </p>";
    echo "<p>Date : $date </p>";

    puis

    echo "<p>SQL : $ajout </p>";

    Avec ça tu affiches le contenu de tes variables ainsi voir ce qu'elles contiennent.

    Ça devrait t'aider à voir ce qui ne fonctionne pas ^^.

    Thamior.
    0
  17. Julien
     
    OK, j'ai essayer .
    voilà ce qu ça me donne:

    Date post : 12,02,2008

    Date : --12,02,2008

    SQL : INSERT INTO timken VALUES ('', 'CN_02', '--12,02,2008', 'B02', 'Détecteur', 'EL12201N', 'Test', 'Julien')

    Moi ça m'aide pas trop perso^^
    0
  18. Thamior Messages postés 267 Statut Membre 47
     
    Je te donne le code corrigé :

    Remplace :

    $tabdate = split("-", $_POST['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];

    Par :

    $tabdate = split(",", $_POST['date']);
    $date = $tabdate[2] ."-".$tabdate[1]."-".$tabdate[0];

    Normalement ça devrait marché ;).

    Thamior.
    0
  19. Julien
     
    Merci beaucoup, ca marche mais c'est quoi la difference entre le tiret et la virgule?
    Bonne journée, c'est sympa
    0