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 :

renseigner un champ de type date via un formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut renseigner un champ de type date via un formulaire
    Bonsoir
    Je rencontre un soucis pour insérer une date dans un champ de type date de ma table via un formulaire
    Voici comment je procède pour renseigner la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ datnais = htmlspecialchars($_POST[datnais]);
    $ nom = htmlspecialchars($_POST[‘nom’]);
     
    foreach($_POST as $key => $val) {
            $$key = mysqli_real_escape_string($mabase, trim($val));
      }
     
      $query="INSERT INTO `adherents` (`nom`, ` datnais`) 
                     VALUES ('$nom', '$ datnais);";
     
      mysqli_query($mabase, $query) or die("Impossible d'inserer : $query");
    Lorsque j’execute ce code mon champ datnais (type date)de ma table contient toujours les valeurs 0000-00-00 comme si j’avais pas renseigné le champ
    Par contre le champ nom (type varchar) contient bien les valeurs saisies dans le formulaire
    Alors je souhaite connaitre ce qui manque à mon code pour pouvoir inserer véritablement les saisies du formulaire dans le champ date

    Bien cordialement

  2. #2
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    La date que tu récupère du formulaire est sous quel format?
    C'est en faisant n'importe quoi qu'on devient n'importe qui

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    je fais aucun traitement particulier sur la date recupérée du formulaire.
    Aussi lors de mes tests quand je saisis une date sous ce format(americain)
    1980-05-11 il reussi à s'insérer dans le champ de ma table.
    mais je veux bien pouvoir insérer une date de type (francais) 11-05-1980
    Bien Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux utiliser la fonction mysql STR_TO_DATE dans ta requête pour convertir ton format.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Citation Envoyé par manguigs
    mais je veux bien pouvoir insérer une date de type (francais) 11-05-1980
    Bien Merci
    Malheureusement, et sauf erreur, MySQL n'accepte pas de date au format français.
    Si MySQL l'accepte, elle sera fausse, car MySQL considère que l'année sera les 1er chiffre à gauche.

    Faut convertir ta date.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    Puis je avoir un bout de conversion en date en fonction du code que j'ai donné plus haut
    Merci

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ah zut on pensait que tu allais chercher un minimum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $query="INSERT INTO `adherents` (`nom`, ` datnais`) 
                     VALUES ('$nom', STR_TO_DATE('$datnais','%d/%m/%Y');";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    Ca marche pas j'ai le message d'erreur:
    Impossible d'insérer:INSERT INTO `adherents` (`nom`, ` datnais`)
    VALUES ('$nom', STR_TO_DATE('$datnais','%d/%m/%Y');";

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Affiche mysql_error() au lieu de ton message.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Change ta requête ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query="INSERT INTO `adherents` (`nom`, ` datnais`) 
                     VALUES ('$nom', STR_TO_DATE('$datnais','%d-%m-%Y')";
    C'est en faisant n'importe quoi qu'on devient n'importe qui

Discussions similaires

  1. [Sql] Comment inserer un champs de type Date ?
    Par ridondo dans le forum DB2
    Réponses: 4
    Dernier message: 28/11/2005, 14h40
  2. Ajouter un champs de type " Date " dans ma base ac
    Par hysteresis dans le forum Langage SQL
    Réponses: 16
    Dernier message: 10/10/2005, 16h10
  3. insérer un 'NULL' dans un champ de type DATE
    Par 84mickael dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 01/06/2005, 09h23
  4. Pb avec une dbgrid et un champ de type date
    Par Ellde dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/03/2005, 16h21
  5. Critères sur champ de type date
    Par blasco dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 09h48

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