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

jQuery Discussion :

Mise à jour automatique d'un champ date


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut Mise à jour automatique d'un champ date
    Bonjour à tous !!!

    Voila j'ai un champ date et se que je souhaite c'est lorsque l'on modifie ce champ date, le champ date correspondant dans ma base de donnée se modifie sans que ma page soit rechargé. Et donc j'ai décidé d'utiliser ajax car j'ai vu qu'il est capable d’exécuter des script php sans validation. Mais le problème c'est que ça ne fonctionne pas.

    Voici mon code du champ date avec ajax:

    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
    <html>
    <script type="text/javascript">
    /*window.onload = function(){
        window.print();
        }*/
     
     $(document).ready(function(){
     
        $('#champdate').click(function(){
            $.ajax({
                url: "maj_date.php",
                type="POST",
               // data: ({ chdate: $('#champdate').text() }),
     
               // success: function(data) {
     
     
     
                   // }
                });
            });
        });  
     
    </script>
    <div style="float:left;width:100%;height:100%;">
        <div style="height:74%;width:100%;">
        <?php
            
         
            
            ini_set('display_errors','On');
            error_reporting(E_ALL);
            
            $sql=mysql_query("SELECT * FROM etiquette WHERE id_etiquette='1';");
     
     
         
           while ($row=mysql_fetch_array($sql)){
     
            
            $nom=$row['nom'];
            $prenom=$row['prenom'];
            $num_lot=$row['num_lot'];
            $emplacement=$row['emplacement'];
            $site=$row['site'];
           } 
        
       ?>
            <table class="tab_etiq" style="border-width:1px;border-style:solid;border-color:black;width:50%;">
                <tr>
                    <td class='td_client left' style='width:30%'>Client:</td>
     
                    <td class='td_client right' style='width:30%'>Entreprise:</td>
                </tr>
                <tr>
                    <td class='td_do center' style='width:30%'><?php echo $nom; ?></td>
     
                    <td class='td_do center' style='width:30%'><?php echo $site; ?></td>
                </tr>
                <tr>
                    <td class='td_do center' style='width:30%'><?php echo $prenom; ?></td>
     
                    <td class='td_do center' style='width:30%'><?php echo $emplacement; ?></td>
                </tr>
                 <tr>
                    <td class='td_do center' id="champdate" style='width:30%'><input type="date" name="champdate" /></td>
     
                    <td class='td_do center' style='width:30%'><input type="text" name="champ2" /></td>
                </tr>
            </table>
     
        </div>
    </div>
    </html>
    Voici le script php que ajax doit éxecuter:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    if(isset($_POST['champdate'])){
         $sql=mysql_query("UPDATE etiquette SET date='".$_POST['champdate']."' WHERE id_etiquette='1';");
        }
    ?>

    Voila donc j'ai besoin de votre aide car la je bloque. Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 232
    Par défaut
    Bonjour,
    Et donc j'ai décidé d'utiliser ajax car j'ai vu qu'il est capable d’exécuter des script php sans validation.
    ne pas faire de validation serait quand même une grave erreur !

    Mais le problème c'est que ça ne fonctionne pas.
    Voila qui a le mérite d'être des plus clair

    if(isset($_POST['champdate'])){
    et tu passes quand/comment ton paramètre champdate ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    Merci pour ta réponse, je récupère mon champ date avec: "$_POST['champdate']" et ajax le signal avec: " $('#champdate')". Pourquoi il y a un problème ?

    ne pas faire de validation serait quand même une grave erreur !
    Pardon en faites quand je dis sans validation je veux dire juste que lorsque l'on change la date de mon champ date, on met à jour directement la base de donnée.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Pourquoi il y a un problème ?
    Non, rassure-toi. Il y en a trois (au minimum) !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // data: ({ chdate: $('#champdate').text() })
    Le fait que cette ligne soit en commentaire rend la transmission du paramètre beaucoup moins efficace.
    Le fait que tu envoies le paramètre chdate mais que te cherches le paramètre $_POST['champdate'] n'est pas non plus d'une efficacité certifiée.
    Le fait qu'aucun des tes champs ne semble posséder d'identifiant id="champdate" n'est pas non plus d'une ingéniosité fulgurante quand tu cherches le champ dont l'identifiant est id="champdate".
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Par défaut
    J'ai dé commenté cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     data: ({ chdate: $('#champdate').text() }),
    J'ai changé ma requête et j'ai testé avec mon "chdate":
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql=mysql_query("UPDATE etiquette SET date='".$_POST['chdate']."' WHERE id_etiquette='1';");

    Mais par contre je sais pas si c'est correcte de mettre: "$_POST['chdate']".

    Ah oui j'y ai pas pensé pour les identifiants donc j'ai fait les changements que tu ma dis.
    Code html : 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
    <table class="tab_etiq" style="border-width:1px;border-style:solid;border-color:black;width:50%;">
                <tr>
                    <td class='td_client left' id="client" style='width:30%'>Client:</td>
                    <td class='td_client right' id="entreprise" style='width:30%'>Entreprise:</td>
                </tr>
                <tr>
                    <td class='td_do center' id="nom" style='width:30%'><?php echo $nom; ?></td>
                    <td class='td_do center' id="site" style='width:30%'><?php echo $site; ?></td>
                </tr>
                <tr>
                    <td class='td_do center' id="prenom" style='width:30%'><?php echo $prenom; ?></td>
                    <td class='td_do center' id="emplacement" style='width:30%'><?php echo $emplacement; ?></td>
                </tr>
                 <tr>
                    <td class='td_do center' id="champdate" style='width:30%'><input type="date" name="champdate" /></td>
                    <td class='td_do center' id="champ2" style='width:30%'><input type="text" name="champ2" /></td>
                </tr>
            </table>
    Mais toujours rien j'ai aucun changement dans ma base de donnée.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 232
    Par défaut
    En association avec ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: ({ chdate: $('#champdate').text() }),
    il y a au moins une ligne de ton code qui devrait t'interpeler
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class='td_do center' id="champdate" style='width:30%'><input type="date" name="champdate" /></td>

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

Discussions similaires

  1. Mise à jour automatique d'un champ
    Par Destiny dans le forum Access
    Réponses: 1
    Dernier message: 20/08/2014, 10h45
  2. [AC-2000] Mise à jour automatique d'un champ dans une table
    Par Nerva dans le forum Access
    Réponses: 3
    Dernier message: 14/10/2010, 19h49
  3. Mise à jour automatique d'un champs date
    Par chtom dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/01/2009, 13h28
  4. Mise à jour automatique d'un champ
    Par supertoms dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/05/2008, 19h26
  5. [Word 2000] Mise à jour automatique d'un champ
    Par texas2607 dans le forum Word
    Réponses: 12
    Dernier message: 13/09/2007, 13h23

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