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

JavaScript Discussion :

Injecter une date dans mysql par Date Picker


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 37
    Par défaut Injecter une date dans mysql par Date Picker
    Bonjour à tous,

    Petit nouveau dans le joyeux monde de php, javascript en tant qu'autodidacte et un peu plus, je suis sollicité pour faire planning de gestion d'employés d'une ch'tite entreprise.

    Toutefois, je bloque sur 2 questions

    - la première, pour mettre en place un début et fin de congés pour le personnel, j'utilise Date Picker (que j'ai laissé dans sa version brut de pomme ) tout s'affiche correctement, les dates apparaissent bien mais dans la BD je n'y vois que du 0000-00-00 (et ce en double exemplaire car pour vérifier que tout fonctionne j'ai crée 2 agents donc ça doit bugger aussi ici mais je trouverais la solution plus tard)

    - la deuxième (je ne sais si c'est la bonne partie du forum sinon excusez moi par avance), comme vous le noterez dans le code que je fournis, j'ai deux tableaux et pour valider le congé je fais référence à l'id_agent. Par contre, je suppose que fermer le premier formulaire et dans le second demander l'id_agent ne fonctionnerait pas bien. Y' a t il un moyen de contourner ce problème ou pas ?

    En vous remerciant d'avance de votre attention et de vos coups de pouce

    Amicalement

    PS : désolé pour la longueur du code

    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    <?
        include("config.inc.php");  
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <title>Gestion des plannings </title>
        <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
        <!-- Mise en place du jquery pour datepicker -->
        <link rel="stylesheet" href="jquery-ui/css/start/jquery-ui-1.8.21.custom.css" type="text/css" />
        <script src="jquery-ui/js/jquery-1.7.2.min.js"></script>
        <script src="jquery-ui/js/jquery-ui-1.8.21.custom.min.js"></script>
        <script>
            $(document).ready(function(){
                $('.date').datepicker();
            });
        </script>
        <!-- Fin de la mise en place du jquery pour datepicker -->
        </head>
    <body>
        <header>Gestion des absences</header>
        <table>
            <tr>
                <form method="POST" action="" target="">
                    <td>Pour afficher la fiche de l'agent, merci de le s&eacute;lectionner dans la liste</td>
                    <td><select name="agent"  class="bouton">  
                        <?
                            mysql_connect("localhost",USER,PASS);
                            mysql_select_db(BASE);
                            $req="SELECT * FROM agents ORDER BY nom ASC"; 
                            $result = mysql_query($req); 
                            while($data=mysql_fetch_object($result)) 
                            {          
                                echo "<option value='$data->id_agent'>$data->nom - $data->prenom</option>";         
                            }        
                        ?> 
                    </select></td> 
                    <td><input type="submit" value="Afficher" class="bouton"/></td>
                </form>
            </tr>
        </table>
        <?
     
        if(isset($_POST['agent'])) {
        $req='SELECT nom,prenom,adresse,cp,ville,telfixe,telporta,email,nomcategorie,service FROM agents INNER JOIN categorie ON agents.id_cat_=categorie.id_cat INNER JOIN service ON agents.id_service_=service.id_service WHERE id_agent="'.$_POST['agent'].'"';
        $result=mysql_query($req) or die ('Erreur SQL ! <br />'.$req.'<br />'.mysql_error());
        $data=mysql_fetch_object($result);
     
        echo "<table>";
        echo "<tr><td><p>Nom</p></td><td><p>";
        echo $data->nom;
        echo "</p></td><td rowspan='8'><p><a href='agent.php'><input type='button' value='Modifier' class='bouton'/></a></p></td></tr><tr><td><p>Pr&eacute;nom</p></td><td><p>";
        echo $data->prenom;
        echo "</p></td></tr><tr><td><p>Adresse</p></td><td><p>";
        echo $data->adresse."  ".$data->cp."  ".$data->ville;
        echo "</p></td></tr><tr><td><p>T&eacute;l&eacute;phone fixe</p></td><td><p>";
        echo $data->telfixe;
        echo "</p></td></tr><tr><td><p>T&eacute;l&eacute;phone portable</p></td><td><p>";
        echo $data->telporta;
        echo "</p></td></tr><tr><td><p>Email</p></td><td><p>";
        echo $data->email;
        echo "</p></td></tr><tr><td><p>Cat&eacute;gorie</p></td><td><p>";
        echo $data->nomcategorie;
        echo "</p></td></tr><tr><td><p>Service</p></td><td><p>";
        echo $data->service;
        echo "</p></td></tr>";    
        echo "</table>"; 
    }
    ?>
        <table>
             <tr>
            <form method="POST" action="" target="">
                <td>Cong&eacute;s</td>
                <td><input type="text" name="congesdeb" class="date"></td>
                <td><input type="text" name="congesfin" class="date"></td>
                <td><input type="submit" value="Modifier" class="bouton"/>                
                    <?
                        mysql_connect("localhost",USER,PASS);
                        $congesdeb=mysql_real_escape_string($_POST['congesdeb']);
                        $congesfin=mysql_real_escape_string($_POST['congesfin']);
                        $test=mysql_select_db(BASE);
                        $req='INSERT INTO conges (congesdeb,congesfin) VALUES ($congesdeb,$congesfin)';
                        $result=mysql_query($req);
                    ?>
                </td>
                <td><?
     
                        $req='SELECT * FROM conges INNER JOIN agents ON agents.id_conges_=conges.id_conges WHERE id_agent="'.$_POST['agent'].'"';
                        $result = mysql_query($req);
                        $nb=mysql_num_rows($result);
                        $i=0;
                        while($i<$nb){
                            $data=mysql_fetch_object($result);
                            echo "du $data->congesdeb au $data->congesfin";
                            $i++;
                        }
                    ?>
                </td>
                </form>
            </tr>
        </table>
     
        <a href="accueil.php"><input type="button" value="Revenir" class="bouton"/></a>
    </body>
    </html>

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut
    Bonjour,

    Avis personnel : si tu découvres le PHP et que ton projet part de 0, pourquoi ne pas utiliser Symfony (ou Zend) ? Ce permettrait de structurer ton code et le rendre bien plus lisible (et accessoirement ne plus faire de requêtes "en dur")

    Sinon, essaye de passer ton "agent_id" à la session afin de pouvoir le manipuler des 2 côtés.

    Pour ton problème de date, il semblerait que ta base de donnée et Datepicker ne voient pas les dates de la même manière (date "JJ/MM/AAAA" et "MM/JJ/AAAA" par exemple).

    Cordialement.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il suffit simplement d'envoyer un string de date au serveur de même format que celui qu'attend ton champs dans ta base de données...

    en général mysql attend du aaaa-mm-jj
    soit tu t'arrange pour que ton date picker envoie direct ce format là,
    soit tu récupères la date telle qu'envoyée au serveur et tu la rectifies avec php

    Conseiller à quelqu'un qui découvre php de se lancer direct dans un framework direct
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 37
    Par défaut
    Bonjour à tous les deux,

    Merci pour vos réponses rapides, je vais jeter un coup d'oeil du côté des sessions et je regarderais aussi ce que tu me dis SpaceFrog sur le format géré par DatePicker

    Des frameworks ?
    J'en ai entendu parlé de ces deux là mais je n'y ai jamais trop mis le nez dedans. Est ce vraiment compliqué ou pas.

    Car en fait, je suis en stage pendant 10 semaines et j'en suis à la 4ème semaine donc c'est pour cela mais si ça semble complexe pour un autodidacte, je n'aurais pas le temps de l'étudier correctement.


    EDIT

    Ce sera plus simple que de récréer un message donc j'ai jeté un coup d'oeil sur les sessions pour me remettre en mémoire mais cela ne marche pas m'est avis que j'ai du faire une belle boulette ou que j'ai pas trop compris la mise en place de la session (il faut dire que les exemples qui pullulent sur le net et que je regarde depuis 2/3 heures ne sont pas très explicites ou ne me concernent pas du tout)

    Donc j'ai fait ça mais voilà si quelqu'un peut m'aider à me remettre tout ça dans le bon sens, ce sera super gentil de sa part, en attendant je vais régler le problème de date picker

    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    <?
        include("config.inc.php");
        session_start();
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <title>Gestion des plannings M&eacute;diath&egrave;que Grand Troyes </title>
        <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
        <!-- Mise en place du jquery pour datepicker -->
        <link rel="stylesheet" href="jquery-ui/css/start/jquery-ui-1.8.21.custom.css" type="text/css" />
        <script src="jquery-ui/js/jquery-1.7.2.min.js"></script>
        <script src="jquery-ui/js/jquery-ui-1.8.21.custom.min.js"></script>
        <script>
            $(document).ready(function(){
                $('.date').datepicker();
            });
        </script>
        <!-- Fin de la mise en place du jquery pour datepicker -->
        </head>
    <body>
        <header>Gestion des absences</header>
        <table>
            <tr>
                <form method="POST" action="" target="">
                    <td>Pour afficher la fiche de l'agent, merci de le s&eacute;lectionner dans la liste</td>
                    <td><select name="agent"  class="bouton">  
                        <?
                            mysql_connect("localhost",USER,PASS);
                            mysql_select_db(BASE);
                            $req="SELECT * FROM agents ORDER BY nom ASC"; 
                            $result = mysql_query($req); 
                            while($data=mysql_fetch_object($result)) 
                            {          
                                echo "<option value='$data->id_agent' id='agent' onChange='javascript:document.getElementById('hidden').value=document.getElementById('agent').value'>$data->nom - $data->prenom</option>";         
                            }        
                        ?> 
                    </select></td> 
                    <td><input type="submit" value="Afficher" class="bouton"/></td>
                </form>
            </tr>
        </table>
        <?
     
        if(isset($_POST['agent'])) {
        $req='SELECT nom,prenom,adresse,cp,ville,telfixe,telporta,email,nomcategorie,service FROM agents INNER JOIN categorie ON agents.id_cat_=categorie.id_cat INNER JOIN service ON agents.id_service_=service.id_service WHERE id_agent="'.$_POST['agent'].'"';
        $result=mysql_query($req) or die ('Erreur SQL ! <br />'.$req.'<br />'.mysql_error());
        $data=mysql_fetch_object($result);
        $_SESSION['agent']=$data['id_agent'];
     
        echo "<table>";
        echo "<tr><td><p>Nom</p></td><td><p>";
        echo $data->nom;
        echo "</p></td><td rowspan='8'><p><a href='agent.php'><input type='button' value='Ajouter' class='bouton'/></a></p></td></tr><tr><td><p>Pr&eacute;nom</p></td><td><p>";
        echo $data->prenom;
        echo "</p></td></tr><tr><td><p>Adresse</p></td><td><p>";
        echo $data->adresse."  ".$data->cp."  ".$data->ville;
        echo "</p></td></tr><tr><td><p>T&eacute;l&eacute;phone fixe</p></td><td><p>";
        echo $data->telfixe;
        echo "</p></td></tr><tr><td><p>T&eacute;l&eacute;phone portable</p></td><td><p>";
        echo $data->telporta;
        echo "</p></td></tr><tr><td><p>Email</p></td><td><p>";
        echo $data->email;
        echo "</p></td></tr><tr><td><p>Cat&eacute;gorie</p></td><td><p>";
        echo $data->nomcategorie;
        echo "</p></td></tr><tr><td><p>Service</p></td><td><p>";
        echo $data->service;
        echo "</p></td></tr>";    
        echo "</table>"; 
    }
    ?>
        <table>
            <form method="POST" action="" target="">
                <td>Cong&eacute;s</td>
                <input type="hidden" name="hidden" id="hidden" value=""/>
                <td><input type="text" name="congesdeb" class="date"></td>
                <td><input type="text" name="congesfin" class="date"></td>
                <td><input type="submit" value="Modifier" class="bouton"/>                
                    <?
                        mysql_connect("localhost",USER,PASS);
                        $congesdeb=mysql_real_escape_string($_POST['congesdeb']);
                        $congesfin=mysql_real_escape_string($_POST['congesfin']);
                        $test=mysql_select_db(BASE);
                        $req='INSERT INTO conges (congesdeb,congesfin) VALUES ($congesdeb,$congesfin) WHERE id_agent="'$_SESSION['agent']=$data['id_agent']'"';
                        $result=mysql_query($req) or die ('Erreur SQL ! <br />'.$req.'<br />'.mysql_error());
                    ?>
                </td>
                <td><?
     
                        $req='SELECT * FROM conges INNER JOIN agents ON agents.id_conges_=conges.id_conges WHERE id_agent="'$_SESSION['agent']=$data['id_agent']'"';
                        $result = mysql_query($req);
                        $nb=mysql_num_rows($result);
                        $i=0;
                        while($i<$nb){
                            $data=mysql_fetch_object($result);
                            echo "du $data->congesdeb au $data->congesfin";
                            $i++;
                        }
                    ?>
                </td>
                </form>
            </tr>
        </table>
     
        <a href="accueil.php"><input type="button" value="Revenir" class="bouton"/></a>
    </body>
    </html>

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Pour les frameworks, ce n'est pas une question d'être compliqué ou pas, c'est comme si on te demandait de courir avant d'avoir appris à marcher.
    Selon moi il faut d'abord avoir de bonne bases dans le langage avant de vouloir utiliser un framework. Ne serait-ce que pour faire le choix du framework adapté a ton besoin.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Pour les frameworks, ce n'est pas une question d'être compliqué ou pas, c'est comme si on te demandait de courir avant d'avoir appris à marcher.
    Selon moi il faut d'abord avoir de bonne bases dans le langage avant de vouloir utiliser un framework. Ne serait-ce que pour faire le choix du framework adapté a ton besoin.
    Je ne suis pas tout à fait d'accord.
    J'ai appris Symfony sans avoir de connaissances avancées en PHP (juste les connaissances scolaires ...).
    L'avantage de Symfony (tout comme Zend) est de permettre de structurer le code.
    A mon sens (et après avoir formé 10-15 personnes à ce Framework), en 1 semaine (voir 10 jours), le tuto Jobeet (pour Symfony) est réalisable et permet d'avoir de bonnes bases pour coder avec ce Framework.

    Maintenant, larsvangeil, si tu ne souhaites pas continuer le PHP après ton stage, pas sur que cela soit utile d'utiliser un Framework.

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

Discussions similaires

  1. Convertir une date dans Mysql
    Par persia dans le forum Requêtes
    Réponses: 3
    Dernier message: 05/05/2011, 19h00
  2. Modifier le champ jour d'une date dans mysql
    Par sandddy dans le forum Requêtes
    Réponses: 6
    Dernier message: 12/03/2008, 09h09
  3. Regroupement par date dans une requete access
    Par ifrpi dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/02/2008, 03h32
  4. Mise à jour d'une date dans MySQL
    Par champijulie dans le forum JDBC
    Réponses: 6
    Dernier message: 07/02/2007, 17h02
  5. [RegEx] Insérer une date dans MYSQL
    Par pony99 dans le forum Langage
    Réponses: 7
    Dernier message: 14/11/2006, 18h51

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