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 :

Récupérer data-id d'un modal


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut Récupérer data-id d'un modal
    Bonjour,

    J'ai le code suivant:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><a href="" data-target="#DetailsFailureCell64" data-toggle="modal" data-id="'.$Failure64_Grouped_Row['ANALYSECODE'].'"><i class="fa fa-eye"></i></a></td>
    .

    Je souhaite récupérer la valeur du data-id pour exécuter un requête Mysql. Comment puis-je faire?

    Merci pour vos retour!

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

    "récupérer" ???

    • En PHP ?
    • En JavaScript ?

    Donne un peu plus de code / explications...

  3. #3
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    J'ai avancé d'un pas...

    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
     
    <script>
    $(document).ready(function() {
      $('#DetailsFailureCell64').on('show.bs.modal', function(e) {
        var id = $(e.relatedTarget).data('id');
        alert(id);
    	if(id){
                $.ajax({
                    type:'POST',
                    url:'modal_ajax.php',
                    data:'id='+id,
                    success:function(html){
                        $('#result').html(html);
                    }
                }); 
      });
    });
    </script>
    Je récupère bien id, mais je dois exécuter modal_ajax.php et afficher un nouveau modal...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je redirige donc vers le forum JS....

    Mais tu ne donnes pas plus d'explications...

  5. #5
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    J'ai un premier modal dans lequel un id est stocké 'data-id':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><a href="#DetailsFailureCell64" data-id="'.$Failure64_Grouped_Row['ANALYSECODE'].'" data-toggle="modal"><i class="fa fa-eye"></i></a></td>
    Lorsque je clique sur le lien hypertext, je recupère via Javascript la valeur de 'data-id'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(document).ready(function() {
      $('#DetailsFailureCell64').on('show.bs.modal', function(e) {
        var failureid = $(e.relatedTarget).data('id');
        alert(failureid);
    Maintenant, je veux lancer une requête en fonction de la vleur de 'data-id' pour l'afficher dans un autre modal...

    Je pense qu'il faut que j'utilise AJAX mais pas sur... et je ne sais plus trop comment faire....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if(failureid){
            $.ajax({
                type:'POST',
                url:'modal_ajax.php',
                data:'faiureid='+failureid,
                success:function(html){
                    $('#DetailsFailureCell64').html(html);
                }
                }); 
            }else{
                $('#DetailsFailureCell64').html('<option value="">Select cell first</option>'); 
            }
    Après si tout peut se faire en PHP je suis preneur ^^

  6. #6
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    J'avance à petit pas, mais je retourne sur mon problème d'origine...

    Donc, j e clique ici pour ouvrir mon modal 1:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><a href="#DetailsFailureCell64" data-toggle="modal" data-book-id="'.$Failure64_Grouped_Row['ANALYSECODE'].'"><i class="fa fa-eye"></i></a></td>

    Puis avec javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    	$('#DetailsFailureCell64').on('show.bs.modal', function(e) {
    		var bookId = $(e.relatedTarget).data('book-id');
    		$(e.currentTarget).find('input[name="bookId"]').val(bookId);
    });
    </script>
    Pour au final afficher mon modal 2:
    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
    <div class="modal" id="DetailsFailureCell64">
    	<div class="modal-dialog modal-xl">
    		<div class="modal-content">
    			<!-- Modal Header -->
    			<div class="modal-header">
    				<h4 class="modal-title">Failure details for <b><?php echo $LINE;?> Cell64</b></h4>
    				<button type="button" class="close" data-dismiss="modal">&times;</button>
    			</div>
    			<img width="100%" height="15px" src="Bandeau.jpg" border="0" />
    			<input type="text" name="bookId" value="" />                             <--------- ICI JE RECUPERE BIEN LA VALEUR DESIREE
     
    		<!-- Modal body -->
    			<div class="modal-body">
    				<table class="table table-striped">
    				<thead>
    					<tr>
    						<th>Failure</th>
    						<th>Type</th>
    						<th>Logical WPC ID</th>
    						<th>Date</th>
    						<th>Lower limit</th>
    						<th>Value</th>
    						<th>Upper limit</th>
    					</tr>
    				</thead>
    			<tbody>
     
    			</tbody>
    			</table>
     
     
    			</div>
    			<!-- Modal footer -->
    			<div class="modal-footer">
    				<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
    			</div>
    		</div>
    	</div>
    </div>


    Ma question est comment la récupérer en PHP dans javascript pour pouvoir effectuer une requête mysql?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Tu affiches le détail de ta facture dans ta modal c'est ça ?
    Et après, que veux-tu mettre à jour dans ta DB ?

    Tu dois peut-être créer un form et le submit en cliquant sur un bouton pour l'envoyer à ton PHP

    Voir ce post qui est peut-être lié : https://www.developpez.net/forums/d1...-id-url-modal/

  8. #8
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    Dans mon premier modal_1, j'affiche le résultat d'une première requête, et lorsque je clique sur une ligne de mon modal_1, je veux récupérer un chiffre (ça c'est OK) pour effectuer une seconde requête à afficher dans le modal_2.

    Nom : 2019-02-14_10h52_04.jpg
Affichages : 3599
Taille : 34,9 Ko







    Nom : 2019-02-14_10h52_21.jpg
Affichages : 3555
Taille : 28,6 Ko

  9. #9
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Je n'ai pas tout compris, mais ceci
    Ma question est comment la récupérer en PHP dans javascript pour pouvoir effectuer une requête mysql?
    qu'est-ce que ça veut dire récupérer en PHP dans javascript ? Peut-être php côté serveur et javascript côté client ? Si c'est ça, la partie data peut ou doit s'écrire comme ça :
    Code javascript : 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
    $(document).ready(function() {
      $('#DetailsFailureCell64').on('show.bs.modal', function(e) {
        var failureid = $(e.relatedTarget).data('id');
        //alert(failureid);
        if(failureid){
            $.ajax({
                type:'POST',
                url:'modal_ajax.php',
                //data:'faiureid='+failureid,
                data: {
                   failureid: failureid
                },
                success:function(html){
                    $('#DetailsFailureCell64').html(html);
                }
           }); 
        } else {
          $('#DetailsFailureCell64').html('<option value="">Select cell first</option>'); 
        }
    });
    Et puis dans la page modal_ajax.php, on la "récupe" comme ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST['failureid'])) {
        $failureid=$_POST['failureid'];
        //puis faire la sql ou comme on veut avec $failureid ...
    } else {
        echo "failure n'est pas trouvé (ou quelque message comme on veut)";
        //die();    //si on veut
    }
    On peut toute fois faire php echo la $failureid pour vérifier au côté client aussi, bien entendu. Voilà, ça vous va un peu ?

  10. #10
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    J'ai tenté de passer par Ajax, mais je n'arrive à rien... SOit mon modal s'affiche, soit je n'ai rien en retour...

  11. #11
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    personne? je n'arrive pas avec ajax... pourtatn j'en ai deja fait mais là ça ne veut pas.. sûrement à cause de la structure de mes modals ou bien code, mais ça fait trop longtemps que je bute dessus... et c'est juste le point bloquant pour mettre à dispo mon application..

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

    jusqu'ici, tu n'as donné que des bouts de code par çi, par là...
    On ne sait même pas de quel type de "modale" tu parles (Bootstrap ? plugin ? ... ?).

    Si tu veux qu'on puisse t'aider :
    • crée des pages de TEST, avec le code minimum, nécessaire et suffisant.
    • et/ou une page en ligne ?

  13. #13
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    Je n'ai posté les codes qui me sont utiles et que j'utilise pour afficher mon modal (Boostrap, j'avais oublié de le mentionné plus haut, désolé).

    Donc pour résumer:

    L'affichage de mon premier modal N°1 (Bootstrap en HTML/PHP):
    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
    <!-- The Modal -->
    <div class="modal" id="Modal64nest1">
    	<div class="modal-dialog modal-xl">
    		<div class="modal-content">
     
    			<!-- Modal Header -->
    			<div class="modal-header">
    				<h4 class="modal-title">Last failure for <!--<b><?php echo $LINE;?> Cell64</b>--></h4>
    				<button type="button" class="close" data-dismiss="modal">&times;</button>
    			</div>
    			<!--<img width="100%" height="15px" src="Bandeau.jpg" border="0" />-->
     
    			<!-- Modal body -->
    			<div class="modal-body">
    			<table class="table table-striped">
    				<thead>
    					<tr>
    						<th>Catégorie défaut</th>
    						<th>Code catégorie</th>
    						<th>Quantité</th>
    						<th>Détails</th>
    					</tr>
    				</thead>
    			<tbody>
    			<?PHP                                                           
                                    while($Failure64_Grouped_Row=$Failure64_Grouped->fetch_array(MYSQLI_ASSOC)){
                                            $ANALYSECODE_NUMBER = $Failure64_Grouped_Row['ANALYSECODE'];
                                            $lib = $ANALYSECODE_TEXT[$ANALYSECODE_NUMBER];
                                            echo '<tr>
                                                    <td>'.$ANALYSECODE_TEXT[$ANALYSECODE_NUMBER].'</td>
                                                    <td>'.$Failure64_Grouped_Row['ANALYSECODE'].'</td>
                                                    <td>'.$Failure64_Grouped_Row['QUANTITY'].'</td>
                                                    <td><a href="" data-target="#DetailsFailureCell64" data-failure-id="'.$Failure64_Grouped_Row['ANALYSECODE'].'" data-toggle="modal"  class="btn btn-primary btn-sm"><i class="fa fa-eye"></i></a></td>
                                                    </tr>';
                                                    }
                            ?>
    			</tbody>
    			</table>
    			</div>
     
    		<!-- Modal footer -->
    		<div class="modal-footer">
    			<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
    		</div>
        </div>
      </div>
    </div>

    Pour afficher mon modal N°2 toujours en bootstrap (contenu dans le modal N°1):
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><a href="" data-target="#DetailsFailureCell64" data-failure-id="'.$Failure64_Grouped_Row['ANALYSECODE'].'" data-toggle="modal"  class="btn btn-primary btn-sm"><i class="fa fa-eye"></i></a></td>

    Pour récupérer la valeur de la colonne 'détails' de mon modale N°2 et lancer la fonction 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
     
    <script type="text/javascript">
    	//$(document).ready(function() {
      $('#DetailsFailureCell64').on('show.bs.modal', function(e) {
        var failureid = $(e.relatedTarget).data('failure-id');
        alert(failureid);
    	if(failureid){
            $.ajax({
                type:'POST',
                url:'modal_ajax.php',
                //data:'faiureid='+failureid,
                data: {
                   failureid: failureid
                },
                success:function(html){
                    $('#DetailsFailureCell64').html(html);
                }
           }); 
        }
      });
    </script>
    Ma page 'modal_ajax.php':
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    include 'dbConfig.php';
    mysqli_set_charset($db , 'utf8');
    date_default_timezone_set('Europe/Paris');
     
    if(isset($_POST['failureid'])) {
        $failureid=$_POST['failureid'];
    	echo $failureid;
    }
    else{
     
    }?>

    Mon modal N°2:
    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
    <div class="modal" id="DetailsFailureCell64">
    	<div class="modal-dialog modal-xl">
    		<div class="modal-content">
    			<!-- Modal Header -->
    			<div class="modal-header">
    				<h4 class="modal-title">Failure details</h4>
    				<button type="button" class="close" data-dismiss="modal">&times;</button>
    			</div>
     
    			<!--<img width="100%" height="15px" src="Bandeau.jpg" border="0" />-->
    			<!-- Modal body -->
    			<div class="modal-body">
    				<table class="table table-striped">
    				<thead>
    					<tr>
    						<th>Failure</th>
    						<th>Type</th>
    						<th>Logical WPC ID</th>
    						<th>Date</th>
    						<th>Lower limit</th>
    						<th>Value</th>
    						<th>Upper limit</th>
    					</tr>
    				</thead>
    			<tbody>
     
    			</tbody>
    			</table>
     
    			<!-- Modal footer -->
    			<div class="modal-footer">
    				<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
    			</div>
    			</div>
    		</div>
    	</div>
    </div>

    Tout mes modals sont codés dans la même page, sauf 'maodal_ajax.php' bien sûr.

  14. #14
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    L'erreur doit venir de mon appel et retour ajax mais là je tourne en rond... se sèche et pour tout dire ça comme à me casser les ....

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

    Citation Envoyé par jreaux62 Voir le message
    Si tu veux qu'on puisse t'aider :
    • crée des pages de TEST, avec le code minimum, nécessaire et suffisant.
    • et/ou une page en ligne ?

    Je t'ai demandé des pages qu'on peut TESTER, mais tu continues à montrer les mêmes bouts de codes éparpillés...

  16. #16
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    Voici le code simplifié... maintenant, comment intégré la fonction JQuery/ AJAX pour lancer la page modal_ajax.php qui va me récupérer la valeur (ici 113 codée en dur) pour effectuer une requête SQL et me coller le résultat dans le mon corps <tbody> de mo deuxième modal...

    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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <title>Bootstrap Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
    </head>
    <body>
     
    <div class="container">
      <h2>Modal Example</h2>
      <!-- Button to Open the Modal -->
      <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mymodal">
        Open modal
      </button>
     
      <!-- The Modal -->
      <div class="modal" id="mymodal">
        <div class="modal-dialog modal-xl">
          <div class="modal-content">
     
            <!-- Modal Header -->
            <div class="modal-header">
              <h4 class="modal-title">Modal Heading</h4>
              <button type="button" class="close" data-dismiss="modal">&times;</button>
            </div>
     
    			<!-- Modal body -->
    			<div class="modal-body">
    			<table class="table table-striped">
    				<thead>
    					<tr>
    						<th>Catégorie défaut</th>
    						<th>Code catégorie</th>
    						<th>Quantité</th>
    						<th>Détails</th>
    					</tr>
    				</thead>
    			<tbody>
     
    				<tr>
    						<td>DEFAULT_CATEGORY</td>
    						<td>113</td>
    						<td>DEFAULT_QUANTITY</td>
    						<td><a href="" data-target="#DetailsFailureCell64" data-failure-id="113" data-toggle="modal" >CLICK HERE</a></td>
    				</tr>
    								<tr>
    						<td>DEFAULT_CATEGORY</td>
    						<td>103</td>
    						<td>DEFAULT_QUANTITY</td>
    						<td><a href="" data-target="#DetailsFailureCell64" data-failure-id="103" data-toggle="modal" >CLICK HERE</a></td>
    				</tr>
    								<tr>
    						<td>DEFAULT_CATEGORY</td>
    						<td>109</td>
    						<td>DEFAULT_QUANTITY</td>
    						<td><a href="" data-target="#DetailsFailureCell64" data-failure-id="109" data-toggle="modal" >CLICK HERE</a></td>
    				</tr>
    								<tr>
    						<td>DEFAULT_CATEGORY</td>
    						<td>101</td>
    						<td>DEFAULT_QUANTITY</td>
    						<td><a href="" data-target="#DetailsFailureCell64" data-failure-id="101" data-toggle="modal" >CLICK HERE</a></td>
    				</tr>
     
     
    			</tbody>
    			</table>
    			</div>
     
            <!-- Modal footer -->
            <div class="modal-footer">
              <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
            </div>
     
          </div>
        </div>
      </div>
     
      <div class="modal" id="DetailsFailureCell64">
    	<div class="modal-dialog modal-xl">
    		<div class="modal-content">
    			<!-- Modal Header -->
    			<div class="modal-header">
    				<h4 class="modal-title">Failure details for 113 in this case</h4>
    				<button type="button" class="close" data-dismiss="modal">&times;</button>
    			</div>
     
     
    			<!-- Modal body -->
    			<div class="modal-body">
    				<table class="table table-striped">
    				<thead>
    					<tr>
    						<th>Failure</th>
    						<th>Type</th>
    						<th>Logical WPC ID</th>
    						<th>Date</th>
    						<th>Lower limit</th>
    						<th>Value</th>
    						<th>Upper limit</th>
    					</tr>
    				</thead>
    			<tbody>
    		<div class="modal-body edit-content64">
    			</tbody>
    			</table>
     
    			<!-- Modal footer -->
    			<div class="modal-footer">
    				<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
    			</div>
    			</div>
    		</div>
    	</div>
    </div>
     
    </div>
    <script type="text/javascript">
            $(document).ready(function() {
                    $('#DetailsFailureCell64').on('show.bs.modal', function(e) {
                            var failureid = $(e.relatedTarget).data('failure-id');
                            alert(failureid);
                            $(e.currentTarget).find('.edit-content64').html(failureid);
                            
            });});
    </script>
     
    </body>
    </html>

    Une esquise de modal_ajax.php:

    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
    <?php
    include 'dbConfig.php';
    mysqli_set_charset($db , 'utf8');
    date_default_timezone_set('Europe/Paris');
     
    if(isset($_POST['failureid'])) {
        $failureid=$_POST['failureid'];
    	$LastFailure64 = $db->query("SELECT DISTINCT(IDLOGIQUE), REFERENCE, ANALYSE, ANALYSECODE, PTMESURE, DATEPROCESS, TOLINF, RESULT, TOLSUP, UNITE FROM scrapviewer.fpydetail WHERE ANALYSECODE='$failureid' AND LIGNE='$LINE' AND STATION='Testing TS2000' AND DATEPROCESS BETWEEN '".date("Y-m-d 05:00:00")."' AND '".date ("Y-m-d", mktime (0,0,0,date('m'),date('d')+1,date('Y')))." 05:00:00"."' ORDER BY ANALYSECODE DESC");
     
    	while($LastFailure64Row=$LastFailure64->fetch_array(MYSQLI_ASSOC)){
    		$ANALYSECODE_NUMBER = $LastFailure64Row['ANALYSECODE'];
    			echo '<tr>
    					<td><i>['.$ANALYSECODE_TEXT[$ANALYSECODE_NUMBER].']</i> '.$LastFailure64Row['ANALYSE'].' ('.$LastFailure64Row['PTMESURE'].')</td>
    							<td>'.$LastFailure64Row['REFERENCE'].'</td>
    							<td>'.$LastFailure64Row['DATEPROCESS'].'</td>
    							<td>'.$LastFailure64Row['TOLINF'].'</td>
    							<td>'.$LastFailure64Row['RESULT'].' ('.$LastFailure62Row['UNITE'].')</td>
    							<td>'.$LastFailure64Row['TOLSUP'].'</td>
    						</tr>';
     
    						}
    }
    else{
    	echo 'Aucun résultat';
    }
     
    ?>

    Voilà j'espère avoir été plus complet ^^.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Code JavaScript : 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
    <script>
    $(document).ready(function() {
    	$('#DetailsFailureCell64').on('show.bs.modal', function(e) {
    		var failureid = $(e.relatedTarget).data('failure-id');
    	//	alert(failureid);
    		if(failureid){
    			$.ajax({
    				method: "POST",
    				url: 'modal_ajax.php',
    				data: { failureid: failureid },
    				dataType: "html"
    			})
    			.done(function(html) {
    	//			alert(html);
    				$('#DetailsFailureCell64 #edit-content64').html(html);
    		   })
    			.fail(function() {
    				alert('erreur !');
    		   });
    		}
    	});
    });
    </script>

    Par contre, il faut modifier dans modal_ajax.php :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
    			<tbody class="modal-body" id="edit-content64"></tbody>
    			</table>
     
    			<!-- Modal footer -->
    			<div class="modal-footer">
    				<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
    			</div>
    et :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    else{
    	echo '<tr><td colspan="7">Aucun résultat</td></tr>';
    }

    N.B. Pour info... VOICI un code SIMPLE pour TESTER (dans modal_ajax.php) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if(isset($_POST['failureid'])) {
    	echo '<tr><td colspan="7">'.$_POST['failureid'].'</td></tr>';
    }
    else{
    	echo '<tr><td colspan="7">Aucun résultat</td></tr>';
    }
    C'est LARGEMENT suffisant pour TESTER le "retour Ajax".
    Une fois que ça marche, tu remplace par le "vrai" code, et tu RE-TESTES.

  18. #18
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    Bon ,j'ai avancé avec les méthodes que vous m'avez fournis.

    Dans ma page de test tout est OK mais par contre dans ma page définitive, je rencontre un soucis. je souhaite intégrer dans le bout de code ajax une variable PHP (qui fonctionne très bien dans ma page de test ). Je ne dois pas utiliser la bonne méthode car je n'ai rien en retour..

    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
     
    <script>
    $(document).ready(function() {
    	var lineid    = <?php echo $LINE ?>;
    	$('#DetailsFailureCell64').on('show.bs.modal', function(e) {
    		var failureid = $(e.relatedTarget).data('failure-id');
     
    	//	alert(failureid);
    		if(failureid){
    			$.ajax({
    				method: "POST",
    				url: 'modal_ajax.php',
    				data: { failureid: failureid, lineid:lineid},
    				dataType: "html"
    			})
    			.done(function(html) {
    				//alert(html);
    				$('#DetailsFailureCell64 #edit-content64').html(html);
    		   })
    			.fail(function() {
    				alert('erreur !');
    		   });
    		}
    	});
    });
    </script>
    Et dans ma page modal_ajax.php:
    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
    if(isset($_POST['failureid'])) {
    	$failureid=$_POST['failureid'];
    	$LINE     =$_POST['lineid'];
    	$LastFailure64 = $db->query("SELECT DISTINCT(IDLOGIQUE), REFERENCE, ANALYSE, ANALYSECODE, PTMESURE, DATEPROCESS, TOLINF, RESULT, TOLSUP, UNITE FROM scrapviewer.fpydetail WHERE ANALYSECODE='$failureid' AND LIGNE='$LINE' AND STATION='Testing TS2000 2' AND DATEPROCESS BETWEEN '".date("Y-m-d 05:00:00")."' AND '".date ("Y-m-d", mktime (0,0,0,date('m'),date('d')+1,date('Y')))." 05:00:00"."' ORDER BY ANALYSECODE DESC");
     
    	while($LastFailure64Row=$LastFailure64->fetch_array(MYSQLI_ASSOC)){
    			echo '<tr>
    					<td>'.$LastFailure64Row['PTMESURE'].'</td>
    					<td>'.$LastFailure64Row['REFERENCE'].'</td>
    					<td>'.$LastFailure64Row['IDLOGIQUE'].'</td>
    					<td>'.$LastFailure64Row['DATEPROCESS'].'</td>
    					<td>'.$LastFailure64Row['TOLINF'].'</td>
    					<td>'.$LastFailure64Row['RESULT'].' ('.$LastFailure64Row['UNITE'].')</td>
    					<td>'.$LastFailure64Row['TOLSUP'].'</td>
    				</tr>';
     
    						}
    }else{
    	echo '<tr><td colspan="7">Aucun résultat</td></tr>';
    }

  19. #19
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 437
    Points : 109
    Points
    109
    Par défaut
    C'est vraiment étrange... je me demande si mon problème ne viendrait pas des script *.css ou *.js... car j'en ai plus dans mon script et j'ai peur que cela fasse un conflit...

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/02/2015, 14h00
  2. Récupérer data applet --> formulaire html
    Par Greg.shogun dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 12/05/2014, 10h04
  3. récupérer data types, taille et constraints
    Par BnLucky dans le forum Développement
    Réponses: 2
    Dernier message: 22/09/2010, 14h19
  4. Récupérer data avec mises à jour
    Par jason00 dans le forum Composants
    Réponses: 3
    Dernier message: 04/11/2008, 23h17
  5. Réponses: 1
    Dernier message: 06/02/2007, 09h46

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