IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] conversion d'une entrée de formulaire en date


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    profession médicale
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : profession médicale
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 21
    Points
    21
    Par défaut [Dates] conversion d'une entrée de formulaire en date
    bonjour,
    excusez mon ignorance, mais j'ai parcouru tous les tutoriels et les forums et je ne trouve pas de réponse satisfaisante

    j'ai créé un formulaire qui doit transmettre une date à mysql
    or je souhaiterais saisir la date sous un format dd-mm-yyyy ou dd-mm-yy au lieu du format date obligatoire yyyy-mm-dd

    je pense qu'il faut manipuler la chaine de caractères saisis, mais je ne sais pas ou insérer le code necessaire

    voici le code de la page:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?php
    require_once('Connections/connexionnoso.php'); ?>
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
     
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    //$datesaisie='datesaisie';
     
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO essai (valeur) VALUES (%s)",
                           GetSQLValueString($_POST["datesaisie"], "text"));
     
      mysql_select_db($database_connexionnoso, $connexionnoso);
      $Result1 = mysql_query($insertSQL, $connexionnoso) or die(mysql_error());
    }
     
    mysql_select_db($database_connexionnoso, $connexionnoso);
    $query_essai = "SELECT * FROM essai";
    $essai = mysql_query($query_essai, $connexionnoso) or die(mysql_error());
    $row_essai = mysql_fetch_assoc($essai);
    $totalRows_essai = mysql_num_rows($essai);
    ?>
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
    </head>
     
    <body>
     
    <div align="center">
      <form name="form1" method="POST" action="<?php echo $editFormAction; ?>">
        <table width="500" border="2" cellspacing="0" cellpadding="0">
          <tr>
            <th scope="col">&nbsp;</th>
     <th scope="col"><input name="datesaisie" type="text" id="datesaisie" size="10" maxlength="10"></th>
          </tr>
          <tr>
            <th scope="row">&nbsp;</th>
            <td><input type="submit" name="Submit" value="Envoyer"></td>
          </tr>
        </table>
          <input type="hidden" name="MM_insert" value="form1">
      </form>
      <p>&nbsp;</p>
      <?php do { ?>
      <table width="500" border="2" cellspacing="0" cellpadding="0">
        <tr>
          <th scope="col">&nbsp;<?php echo $row_essai['valeur']; ?></th>
        </tr>
      </table>
      <p>&nbsp;</p>
      <?php } while ($row_essai = mysql_fetch_assoc($essai)); ?>
    </div>
    </body>
    </html>
    <?php
    mysql_free_result($essai);
    ?>
    merci de m'aider, soit en modifiant le code soit en m'expliquant de manuière compréhensible par un novice comment faire

  2. #2
    Membre expérimenté
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Points : 1 309
    Points
    1 309
    Par défaut
    Ce que tu peux faire, c'est faire un explode de la date avec le tiret comme séparateur, puis réécrire la date au bon format pour MySQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $date = "08-02-2006";
    $d = explode("-",$date); // l'indice du tableau commence à 0
    // $d[0] -> jour
    // $d[1] -> mois
    // $d[2] -> année
    $date = $d[2].'-'.$d[1].'-'.$d[0];
    echo $date; // affiche 2006-02-08

  3. #3
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par Linaa
    Ce que tu peux faire, c'est faire un explode de la date avec le tiret comme séparateur, puis réécrire la date au bon format pour MySQL


    Je crois que c'est la solution a faire aussi
    une autre manière et la c'est très différent, serait de faire des liste déroulante pour les jours, mois et année...ainsi tu controles les entré en meme temps et tu récupères les champs individuellement
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  4. #4
    Membre à l'essai
    Homme Profil pro
    profession médicale
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : profession médicale
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    bonjour à vous deux qui avez bien voulu répondre à un ignare, mais si je peux abuser encore, j'aimerais savoir ou insérer le fragment de code dans la page de code.
    en effet, ce n'est pas évident car le formulaire génère un id qui est ensuite repris sous forme d'une variable post, alors je patauge ....

  5. #5
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Salut
    et bien tu le places le code là où tu récupère ton formulaire par la variable post

    Ce peux etre une autre page...
    Tu dis que le formulaire génère un id que tu récupère par $_POST
    et bien fait la meme chose avec la date
    tu la récupère par $POST, tu la formates comme bon te sembles et l'insère par la suite dans ta bd
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  6. #6
    Membre à l'essai
    Homme Profil pro
    profession médicale
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : profession médicale
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    salut,
    c'est bien la la difficulté:
    je n'ai que la page de code que j'ai envoyé avec mon premier message...
    et je n'arrive pas à trouver l'endroit ou insérer ton fragment de code même si en théorie cela semble évident

    merci encore

Discussions similaires

  1. [AC-2003] Transfert d'une date entre un Formulaire et une Query
    Par PopsBoston dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/05/2011, 16h40
  2. Réponses: 8
    Dernier message: 07/03/2007, 08h34
  3. Réponses: 4
    Dernier message: 21/09/2005, 17h35
  4. [date] conversion d'une date et compatibilité access
    Par WriteLN dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/01/2005, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo