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 :

Récupération d'une la valeur d'un id pour envoi en BDD


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    technicien informatique
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : technicien informatique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Par défaut Récupération d'une la valeur d'un id pour envoi en BDD
    Bonjour à tous,

    j'ai un problème qui est que je n'arrive pas à récupérer l'id de mon <a> alors que j'aurais besoin de sa valeur pour une variable pour un envoi en BDD.
    Sachant que l'id est en HTML, et que la fonction qui permet d’envoyé mes données est en JS mais l'envoi et la connexion à ma BDD est en PHP.
    J'ai essayé déjà quelque truc quelque que data- ou des $_get ou $_post mais rien à faire :'(

    voici mon code :
    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
    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
    <!DOCTYPE html>
    <html>
     
    <head>
     
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     
    	<link rel="stylesheet" href="Forme/lib/bootstrap.min.css">
    	<link rel="stylesheet" href="Forme/style/acceuil.css">
        <link rel="stylesheet" href="Forme/style/vehicule.css">
     
    	<title>Serveur</title>
     
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
     
    <a href="Acceuil.php" class="thumbnail"> 
        <img src="Forme/img/logolspd.png" width="70" height="70" alt="">  
    </a>
     
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
        <li class="nav-item active"><a class="nav-link" href="#">Casiers Judiciaires <span class="sr-only">(current)</span></a></li>
        <li class="nav-item active"><a class="nav-link" href="intervention.php">Interventions<span class="sr-only">(current)</span></a></li>
        <li class="nav-item active"><a class="nav-link" href="vehicule.php">Véhicules<span class="sr-only">(current)</span></a></li>
        <li class="nav-item active"><a class="nav-link" href="plainte.php">Plaintes<span class="sr-only">(current)</span></a></li>
        <li class="nav-item active"><a class="nav-link" href="codepenal.php">Code Pénal<span class="sr-only">(current)</span></a></li>
        </ul>
      </div>
    </nav>
     
    </head>
     
    <body>
     
    <div class="list-group">
      <a id="QAH 519" href="#" class="list-group-item list-group-item-action" data-plaque="QAH 519" onclick="changeColor(this); ">QAH 519</a>
      <a id="RLR 502" href="#" class="list-group-item list-group-item-action" data-plaque="RLR 502" onclick="changeColor(this);">RLR 502</a>
      <a id="ZUW 937" href="#" class="list-group-item list-group-item-action" data-plaque="ZUW 937" onclick="changeColor(this);">ZUW 937</a>
      <a id="RCO 087" href="#" class="list-group-item list-group-item-action" data-plaque="RCO 087" onclick="changeColor(this);">RCO 087</a>
    </div>
     
        <script src="Forme/lib/jquery-3.3.1.slim.min.js"></script>
        <script src="Forme/lib/bootstrap.min.js"></script>
     
    </body>
    </html>
    <?php require 'fonctionconnexion.php';?>
     
     
    <script language="javascript">
     
    function changeColor( elt ){
      elt.classList.toggle('active');
     
    /*var x = $("#test").data("plaque");*/
     
     
    <?php
     
     
    $Plaque = $POST['id'];
    $date = date("Y-m-d");
    $heure = date("H:i");
     
    $bdd = getBdd();
    $req =  $bdd->prepare('INSERT INTO voiture (Plaque, date, heure) VALUES (:Plaque, :date, :heure)');
     
    $req->execute(array(
        'Plaque' => $Plaque,
        'date' => $date,
        'heure' => $heure,
     
        ));
    ?>
     
     
     
    }
     
    </script>

    et le css qui va avec :

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    .list-group{
        width : 80%;
        display: flex; 
        justify-content: center;
        margin-left : 10%;
        margin-top: 5%;
    }
     
    .list-group > a { 
        background-color:#fff; 
      }
      .list-group > a.active { 
        background-color:red; 
      }


    Merci par avance

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bonjour,

    Je ne vois pas d'envoi au serveur dans cette page

    Par ailleurs, c'est curieux ta manière d'insérer des éléments hors du html...

  3. #3
    Membre habitué
    Homme Profil pro
    technicien informatique
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : technicien informatique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Par défaut
    euh je ne vois pas trop quoi répondre, justement si je demande de l'aide c'est pour en avoir x)

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function changeColor(elt) {
        let id = elt.id;
        let plaque = elt.dataset.plaque;
     
        console.log(`id = ${id} ; plaque = ${plaque}`);
    }
    EDIT

    Attention au format de l'ID.

    "QAH 519" n'est pas valable, car il y a un espace. Il faut écrire "QAH_519".

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="list-group">
        <a id="QAH_519" href="#" class="list-group-item list-group-item-action" data-plaque="QAH 519"
            onclick="changeColor(this); ">QAH 519</a>
        <a id="RLR_502" href="#" class="list-group-item list-group-item-action" data-plaque="RLR 502"
            onclick="changeColor(this);">RLR 502</a>
        <a id="ZUW_937" href="#" class="list-group-item list-group-item-action" data-plaque="ZUW 937"
            onclick="changeColor(this);">ZUW 937</a>
        <a id="RCO_087" href="#" class="list-group-item list-group-item-action" data-plaque="RCO 087"
            onclick="changeColor(this);">RCO 087</a>
    </div>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre habitué
    Homme Profil pro
    technicien informatique
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : technicien informatique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Par défaut
    Merci pour le début de cette réflexion,

    Cependant je ne vois pas comment entrer la valeur de l'id qui doit allez dans plaque pour mon envoi à ma BDD ?!


    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
     
     
    function changeColor( elt ){
      elt.classList.toggle('active');
      let id = elt.id;
        let plaque = elt.dataset.plaque;
     
        console.log(`id = ${id} ; plaque = ${plaque}`);
     
    <?php
     
    $Plaque = $_POST['id'];
    $date = date("Y-m-d");
    $heure = date("H:i");
     
    $bdd = getBdd();
    $req =  $bdd->prepare('INSERT INTO voiture (Plaque, date, heure) VALUES (:Plaque, :date, :heure)');
     
    $req->execute(array(
        'Plaque' => $Plaque,
        'date' => $date,
        'heure' => $heure,
     
        ));
    ?>
     
    }

    Encore merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu mélanges :
    • PHP (côté serveur, donc AVANT affichage de la page),
    • et JS (côté client, donc APRÈS)...

  7. #7
    Membre habitué
    Homme Profil pro
    technicien informatique
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : technicien informatique

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Par défaut
    Et je pourrais faire comment du coup car j'ai continuer de cherche et je suis tombe sur de L'AJAX mais j'y comprend pas grand chose :/

  8. #8
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    L'AJAX mais j'y comprend pas grand chose
    Commence donc par : Comprendre les mécanismes d'AJAX

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

Discussions similaires

  1. [MySQL] Récuperer les valeurs d'un array pour inserer en BDD
    Par spawns dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 04/04/2016, 10h55
  2. [Joomla!] Récupération d'une copie du répertoire du site pour mesure de sécurité
    Par jockhip12 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 23/04/2012, 10h35
  3. SELECT, récupération d'une autre valeur si valeur nulle
    Par rsvincef1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/09/2011, 14h17
  4. [XL-2003] Une question concernant mon module VBA pour envoi des mail en masse.
    Par dariyoosh dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2010, 16h03
  5. Réponses: 7
    Dernier message: 06/03/2007, 19h02

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