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

PHP & Base de données Discussion :

datepicker ui date fr mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 61
    Points
    61
    Par défaut datepicker ui date fr mysql
    Bonsoir,

    Voila mon problème,

    J'utilise le module datepicker de jquery dans mon formulaire a deux endrois
    1 pour enregistrer la date d'envois des données
    2 pour faire une recherche dans la base mysql des entrées effectuées

    en france on a l'habitude de marquer nos date sous cette forme là : dd/mm/yyyy
    alors que les dates stockées dans une base de données au format date mysql sont representé ainsi yyyy-mm-dd

    y aurai t-il une manière d'afficher les dates a la "française" et au moment de l'envois au serveur que se sois pour les enregistrer ou recupérer les données de les tranformer au format sql.

    le code de ma page qui me permet de faire une recherche pour que vous ayez une idée.
    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
    <h2>Exporter</h2><br /><br />
    <div class="mainForm" id="fieldDate_1">
    <form method="post" name="regie" action="index.php?page=3" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
    	<div style="float:Left; padding-left:10px;"><label for="fielddate_1b" class="formFieldQuestion">Versé entre le :&nbsp;</label></div><div style="float:Left"><input type="text" style="text-align: right" readonly="true" name="fielddate_1b" id="fielddate_1b" value="" tabindex="10" /></div>
    	<div style="float:Left; padding-left:2px;"><label for="fielddate_1c" class="formFieldQuestion">&nbsp;et le :&nbsp;</label></div><div style="float:Left"><input type="text" style="text-align: right; margin-right:10px;" readonly="true" name="fielddate_1c" id="fielddate_1c" value="" tabindex="20" /></div>
    	<input id="saveForm" class="mainForm" type="image" src="imgs/btn_valider.png" value="Envoyer" tabindex="30"/>
    </form>
    </div>
     
    <?php
     
    $debut = $_POST['fielddate_1b']; 
    $fin = $_POST['fielddate_1c'];
     
     
    include("./config.inc.php");
    mysql_connect($db_host,$db_user,$db_pass) or die ('connexion impossible');
    mysql_select_db($db_name) or die ('connexion impossible');
    $requete = mysql_query("SELECT * FROM regie WHERE field_1 BETWEEN '$debut' AND '$fin' ORDER BY field_1 ASC") or die (mysql_error());
     
    if($data = mysql_fetch_array($requete)){
    echo "<br />";
    echo "<center><h3>Voici les résultats entre le: $debut et le: $fin</h3></center>";
    echo "<br /><p style='clear:both'></p>";
    }
     
    while($data = mysql_fetch_array($requete))
        {
             echo ''.$data['field_0'].'&nbsp;'.$data['field_1'].'&nbsp;'.$data['field_2'].'&nbsp;'.$data['field_3'].'&nbsp;'.$data['field_4'].'&nbsp;'.$data['field_5'].'&nbsp;'.$data['field_6'].'&nbsp;'.$data['field_7'].'&nbsp;'.$data['field_8'].'<br>'; 
        }
    ?>
    Merci

  2. #2
    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
    Avec DATE_FORMAT() dans ta requête.
    N'hésite pas a consulter la documentation pour ces questions :
    http://dev.mysql.com/doc/refman/5.0/...functions.html
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Apres avoir lu la doc, et essayé plusieur requete je n'arrive toujours pas a faire ce que je veux.

    Je rappel que je veux transformer 01/01/2010 en 2010-01-01 pour que mysql puisse l'interpréter.

    Apparemment utiliser DATE_FORMAT ne va pas puisse que ca fait l'inverse
    de ce que j'ai pu comprendre il transforme 2001-01-01 en format de date que l'on veut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requete = mysql_query("SELECT * FROM regie WHERE field_1 BETWEEN DATE_FORMAT('$debut', '%Y-%m-%d') AND DATE_FORMAT('$fin', '%Y-%m-%d') ORDER BY field_1 ASC") or die (mysql_error());
     
    $requete = mysql_query("SELECT * FROM regie WHERE field_1 BETWEEN STR_TO_DATE('$debut', '%Y-%m-%d') AND STR_TO_DATE('$fin', '%Y-%m-%d') ORDER BY field_1 ASC") or die (mysql_error());
    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 61
    Points
    61
    Par défaut
    Je sais pas si c'est super comme écriture mais j'ai fait ca comme ca et ca marche.
    Merci
    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
    <?php
     
    $debut = $_POST['fielddate_1b']; 
    $fin = $_POST['fielddate_1c'];
    $debut1 = $_POST['fielddate_1b']; 
    $fin1 = $_POST['fielddate_1c'];
     
    list($jour,$mois,$annee)=split("/",$debut);
    $debut = $annee."-".$mois."-".$jour;
     
    list($jour,$mois,$annee)=split("/",$fin);
    $fin = $annee."-".$mois."-".$jour;
     
    include("./config.inc.php");
    mysql_connect($db_host,$db_user,$db_pass) or die ('connexion impossible');
    mysql_select_db($db_name) or die ('connexion impossible');
    mysql_query("SET NAMES 'utf8'");
    $requete = mysql_query("SELECT * FROM regie WHERE field_1 BETWEEN '$debut' AND '$fin' ORDER BY field_1 ASC") or die (mysql_error());
     
    if($data = mysql_fetch_array($requete)){
    echo "<br />";
    echo "<center><h3>Voici les résultats entre le: $debut1 et le: $fin1</h3></center>";
    echo "<br /><p style='clear:both'></p>";
    echo "<table>";
    echo "<tr><td>Animateur</td><td>Date</td><td>Cyber-base</td><td>Type</td><td>Civilité</td><td>Prénom</td><td>Nom</td><td>Montant</td><td>Commentaires</td></tr>";
    }
     
     
    while($data = mysql_fetch_array($requete))
        {
             echo '<tr><td>'.$data['field_0'].'</td><td>'.$data['field_1'].'</td><td>'.$data['field_2'].'</td><td>'.$data['field_3'].'</td><td>'.$data['field_4'].'</td><td>'.$data['field_5'].'</td><td>'.$data['field_6'].'</td><td>'.$data['field_7'].'</td><td>'.$data['field_8'].'</td></tr>'; 
        }
     
    echo "</table>";
    ?>

  5. #5
    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
    C'est bien STR_TO_DATE() qu'il faut utiliser, mais c'est le format d'entrée qu'il prend comme paramètre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 61
    Points
    61
    Par défaut
    La fonction split étant désuette j'ai changé mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    list($jour,$mois,$annee)=split("/",$debut);
    $debut = $annee."-".$mois."-".$jour;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $date = "$field_1";
    // formatage
    list($jour, $mois, $annee) = explode("/", $date);
    // affichage
    $field_1a = $annee . '-' . $mois . '-' . $jour ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choix du format de date timestamp Mysql ou timestamp Unix
    Par audreyc dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/04/2009, 07h20
  2. Format date avec Mysql
    Par debutantjak dans le forum JDBC
    Réponses: 1
    Dernier message: 10/05/2006, 16h36
  3. [Date dans Mysql] Prise en compte des espaces
    Par tchoukapi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 02/01/2006, 03h41
  4. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38
  5. Problèmes de dates ACCESS/MySQL
    Par TomPad dans le forum Installation
    Réponses: 1
    Dernier message: 28/06/2005, 10h05

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