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 :

$_GET["id_table"] vers fenêtre modale ?


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut $_GET["id_table"] vers fenêtre modale ?
    Bonjour,

    voila actuellement j'ai dans ma page un lien ajouter un nouvel utilisateur qui m'ouvre une fenêtre modale en css avec l'aide de jquery, cette fenêtre modale comporte un formulaire qui une fois remplis envoi une requête en XMLHttpRequest vers une page php de type "insert into" pour ajouter l'utilisateur.

    Maintenant je souhaiterais a travers mon tableau qui comporte pour chaque ligne un bouton 'modifier' modifier les éléments d'un enregistrement dans ma fenêtre modale.
    habituellement je passe en paramètre de l’icône modifier, l'id de l'enregistrement à modifier que j'ouvre dans une nouvelle page php pour faire la modification et ensuite l'update.

    Mais la je souhaite faire la mise à jour à travers du formulaire de la fenêtre modale ! donc ma question est comment passer en argument l'id de l'enregistrement à modifier dans le lien jquery de ma fenêtre modale en css ?

    voici mon code avec mes interrogations :

    mon scipt jquery pour l'ajout d'user :
    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
    <script>
    $(document).ready(function() {
     
    jQuery(function($){
     
     
    $("#ajout_user").submit(function(){
    		module = $(this).find("input[name=module]").val();
    		nom_fma = $(this).find("input[name=nom_fma]").val();
    		duree_fma = $(this).find("select[name=duree_fma]").val();
    		type_fma = $(this).find("select[name=type_fma]").val();
    		annee_fma = $(this).find("input[name=annee_fma]").val();
    		$.post("ajax_add_fma.php",{module: module, nom_fma: nom_fma, duree_fma: duree_fma, type_fma: type_fma, annee_fma: annee_fma},function(html){
    			if(data='ok'){
    				//fermeture de la popup avec le formulaire
    				$('#fade , .popup_block').fadeOut(function() {
    			$('#fade, a.close').remove();  
    	}); 
    				alert(html);
    				location.reload();
    				}else{
    				alert(html);
    			}
    		});
    		return false;
    	});
     
    });
    </script>
    ensuite j'ai ma div qui contient le formulaire avec le css de la fenêtre modale :

    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
    <div id="popup1" class="popup_block">
    	<center><h2>Ajouter une manoeuvre (FMA)</h2><center>
        <br>
    <form method="submit" action="#" id="ajout_fma">
    <table border="0"> 
    <tr> 
    <th align="left"><label for ="module">N° du module </label></th><td> <input type="text" id="module" name="module" maxlength="10" size="10"> </td>
    </tr> 
    <tr>
    <th align="left"><label for ="nom_fma">Nom de la manoeuvre </label></th><td> <input type="text" id="nom_fma" name="nom_fma" maxlength="120" size="50"></td>
    </tr>
    <tr>
    <th align="left"><label for ="type_fma">Imposé par </label></th><td> 
    <select name="type_fma">
        <option></option>
            <?php
    do {  
    ?>
            <option value="<?php echo $row_Recordset_type['id_type']?>"><?php echo $row_Recordset_type['nom_type']?></option>
            <?php
    } while ($row_Recordset_type = mysql_fetch_assoc($Recordset_type));
      $rows = mysql_num_rows($Recordset_type);
      if($rows > 0) {
          mysql_data_seek($Recordset_type, 0);
              $row_Recordset_type = mysql_fetch_assoc($Recordset_type);
      }
    ?>
          </select>
    </td>
    </tr>
    <tr>
    <th align="left"><label for ="duree_fma">Durée du module </label></th><td> <select name="duree_fma" >
                <option></option>
            <option value="00:30:00">30 minutes</option>
            <option value="00:45:00">45 minutes</option>
            <option value="01:00:00">1 heure </option>
            <option value="01:30:00">1 heure 30</option>
            <option value="01:45:00">1 heure 45</option>
            <option value="02:00:00">2 heures</option>
            <option value="04:00:00">+ de 2 heures </option>
          </select> </td></tr>
          <tr>
    <th align="left"><label for ="annee_fma">Année de la manoeuvre </label></th><td> <input type="text" id="annee_fma" value="<?php echo date('Y');?>" name="annee_fma" maxlength="4" size="6"> </td>      <tr>
    <tr><th><br></br></th></tr>
    <tr><th></th><td align="left"><input type="submit" value="Sauvegarder" ></td></tr>
    </TABLE>
    </center>
    </div>

    et la j'ai ce fameux lien qui me permet d'afficher la fenêtre modale,

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" data-width="800" data-rel="popup1" class="poplight">Ajouter une personne</a>

    c'est ici que je pensais ajouter
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    href="#?<?php echo $_GET["id_user"]; ?>"

    mais comment le gérer en jquery ?
    auriez vous un exemple ou une idée ? merci d'avance pour votre aide

  2. #2
    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
    Que de maladresses dans ton code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(document).ready(function() {
     
    jQuery(function($){
    est-ce que tu comprends le sens de ces deux lignes ?

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="submit" action="#" id="ajout_fma">
    Ca sort d'où la méthode submit ???
    Quand fermes-tu ton formulaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#ajout_user").submit(...)
    Où est l'élément ajout_user ?

    Bref, commence par faire un code propre...
    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

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    est bien ajout_user est ici :

    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
    $("#ajout_user").submit(function(){
    		module = $(this).find("input[name=module]").val();
    		nom_fma = $(this).find("input[name=nom_fma]").val();
    		duree_fma = $(this).find("select[name=duree_fma]").val();
    		type_fma = $(this).find("select[name=type_fma]").val();
    		annee_fma = $(this).find("input[name=annee_fma]").val();
    		$.post("ajax_add_fma.php",{module: module, nom_fma: nom_fma, duree_fma: duree_fma, type_fma: type_fma, annee_fma: annee_fma},function(html){
    			if(data='ok'){
    				//fermeture de la popup avec le formulaire
    				$('#fade , .popup_block').fadeOut(function() {
    			$('#fade, a.close').remove();  
    	}); 
    				alert(html);
    				location.reload();
    				}else{
    				alert(html);
    			}
    		});
    		return false;
    	});
     
    });
    oui je veu dir qu'il correspand à ajout_fma, mais l'ajout fonctionne,
    j'ai juste modifier le code pour le paraitre plus lisible sur le forum en remplacant fma par user, et jai oublié celui que tu ma signalé, mais l'ajout d'utilisateur fonctionne, je ne sais juste pas comment passé dans mon lien vers la fenetre pop up en css l'id de l'enregistrement à modifier !

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    Oui je n'ai peu être pas était clair, mais voila j'ai avancé un peu dans mes essais, maintenant lorsque je clique sur le lien modifier d'un des enregistrement de mon tableau je renvoi le lien avec l'id de l'enregistrement (en php) à modifier, au script jquery suivant (avec ajax $GET)

    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
    <script>
    $(document).ready(function() {
     
    jQuery(function($){
     
    	var lelien;
     
    		$("a.modifmodal").click(function(e) {
    		lelien = $(this).attr("href"),
            e.preventDefault();
    			$.ajax({
      			type: "GET",
      			url: lelien,
    			success: function(html) {
                  alert(html);
    			  },
     
                error: function() {
                  alert('La requête n\'a pas abouti'); 
    			  }
    	})
     
    });
    </script>
    Donc voici mon lien qui contient la page php d'update, et l'id de l'enregistrement php :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><div align="center"><a class="modifmodal" href="ajax_maj_fma.php?id=<?php echo $row_Recordset_manoeuvre['id_fma']; ?>"><img src="img/modif.png" alt="Modifier" border="0" width="16" height="16" /></a></div></td>

    et ensuite coté php j'ai le fichier "ajax_maj_fma.php" qui renvoi le fomulaire, avec l'id séléctionné pour faire la mise à jour :

    Code php : 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
    <?php
    require_once('Connections/easyphp.php'); 
     
    if (isset($_GET['id'])) 
    {
    	$ident_fma = $_GET['id'];
     
    	mysql_select_db($database_easyphp, $easyphp);
    	$query_Recordset_fma = "SELECT module, nom_fma FROM fma WHERE id_fma = '$ident_fma'";
    	$Recordset_fma = mysql_query($query_Recordset_fma, $easyphp) or die(mysql_error());
    	$row_Recordset_fma = mysql_fetch_assoc($Recordset_fma);
    	$totalRows_Recordset_fma = mysql_num_rows($Recordset_fma);
     
    	echo $row_Recordset_fma['module'] . " : " . $row_Recordset_fma['nom_fma'] ;
    	}
    		else
    	{
    	echo "Erreur pas de fma precise";
    	}
     
    ?>
    <center>
    	<center><h2>Modifier une manoeuvre (FMA)</h2><center>
        <br>
    <form method="submit" action="#" id="ajout_fma">
    <table border="0"> 
    <tr> 
    <th align="left"><label for ="module">N° du module </label></th><td> <input type="text" id="module" name="module" maxlength="10" size="10"> </td>
    </tr> 
    <tr>
    <th align="left"><label for ="nom_fma">Nom de la manoeuvre </label></th><td> <input type="text" id="nom_fma" name="nom_fma" maxlength="120" size="50"></td>
    </tr>
    <tr>
    <th align="left"><label for ="type_fma">Imposé par </label></th><td> 
    <select name="type_fma">
        <option></option>
            <?php
    do {  
    ?>
            <option value="<?php echo $row_Recordset_type['id_type']?>"><?php echo $row_Recordset_type['nom_type']?></option>
            <?php
    } while ($row_Recordset_type = mysql_fetch_assoc($Recordset_type));
      $rows = mysql_num_rows($Recordset_type);
      if($rows > 0) {
          mysql_data_seek($Recordset_type, 0);
    	  $row_Recordset_type = mysql_fetch_assoc($Recordset_type);
      }
    ?>
          </select>
    </td>
    </tr>
    <tr>
    <th align="left"><label for ="duree_fma">Durée du module </label></th><td> <select name="duree_fma" >
                <option></option>
            <option value="00:30:00">30 minutes</option>
            <option value="00:45:00">45 minutes</option>
            <option value="01:00:00">1 heure </option>
            <option value="01:30:00">1 heure 30</option>
            <option value="01:45:00">1 heure 45</option>
            <option value="02:00:00">2 heures</option>
            <option value="04:00:00">+ de 2 heures </option>
          </select> </td></tr>
          <tr>
    <th align="left"><label for ="annee_fma">Année de la manoeuvre </label></th><td> <input type="text" id="annee_fma" value="<?php echo date('Y');?>" name="annee_fma" maxlength="4" size="6"> </td>      <tr>
    <tr><th><br></br></th></tr>
    <tr><th></th><td align="left"><input type="submit" value="Sauvegarder" ></td></tr>
    </TABLE>
    </center>

    Je n'ai pas était plus loin (c'est a dire que je n'ai pas affecté les valeurs de mon enregistrement sélection dans les inputs du form) car ma fenêtre alert m'affiche tout le code html de ma page, et donc aucun formulaire ne s'affiche !!!!!

    auriez vous un exemple ou lien expliquant la modification d'entrée d'une bdd mysql dans une fenêtre modale avec jquery ???
    car là je rame !

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