Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tableau (HTML) récupérer le numéro de ligne choisi

Comment détecter quelle ligne d'un tableau a été sélectionnée?

Sujet résolu
    21 mai 2024 à 14:18:03

    Bonjour, je pense que la solution à mon soucis doit être en JavaScript... Du coup j'espère être au bon endroit...

    J'ai une requête qui me permet de lister le contenu d'une table appelée notes:

    Cette table comprend les champs suivants Clé_Primaire, Concerne_ruche, Date_Evenement, Date_Fin et Evenement.

    Voici la requête de sélection du contenu de cette table :

    	$requete = $bdd->query('
    				SELECT *
    				FROM notes
    				ORDER BY Date_Evenement DESC;'
    				);
    				
    	$notes = $requete->fetchAll();


    Mon code de construction de la table est le suivant :

    				<table>
    				    <caption align ="top" style="color:red; font-weight:bold;"> <?= "Sélectionnez la note à modifier :(par double-clique sur la ligne"; ?> </caption>
    				    <thead>
    					<tr>	
    					    <th><?= "Ruche concernée :"; ?></th>										
    					    <th><?="Date de Début :"; ?></th>
    					    <th><?= "Date de fin :"; ?></th>
    					    <th><?= "Evénement :"; ?></th>
    					</tr>
    				    </thead>
    				    <tbody>
    <?php
    					foreach($notes  as $don ) {  
    					    if ($don['Date_Fin']== '0000-00-00 00:00:00') $don['Date_Fin']=NULL;
    ?>
    					
    					    <tr class='tableau' ondblclick="fct1('url_cible')">
    						    <td> <?= $don['Concerne_Ruche']<>NULL? $don['Concerne_Ruche']:'Toutes les ruches' ?> </td>
    						    <td> <?= $don['Date_Evenement']?> </td>
    						    <td> <?= $don['Date_Fin']<>NULL? $don['Date_Fin']:'Non définie' ?> </td>
    						    <td> <?= $don['Evenement']?> </td>						   			    							    
    					    </tr>
    <?php
    					}
    ?>					
    					
    				    </tbody>
    				    
    				    
    				</table>

    Sur double clique sur une ligne (après agrandissement de la ligne et changement de couleur via du css) je lance bien ma fonction fct1 qui pour le moment ne m'affiche qu'une alerte...

    J'aurais donc souhaité récupérer le numéro de la Clé_Primaire  (non affichée dans le tableau mais si besoin je pourrais l'afficher) de la ligne sélectionnée...

    Mais j'avoue ne pas trop voir par quel bout prendre ce problème...

    Comment distinguer une ligne d'une autre?(même en rajoutant la Clé_Primaire...)

    Merci

    Je penses avoir trouvé j'ai modifié mon code de tableau comme ceci afin de rajouter un id:

     <tr class='tableau' id=<?=$don['Cle_Primaire']?> ondblclick="fct1('url_cible')">



    -
    Edité par GillesMangin-Voirin 21 mai 2024 à 14:23:41

    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2024 à 16:34:27

      Pourquoi ne places-tu pas tout simplement comme argument à ta fonction fct1 la clé primaire ?

      Cela dit, ondblclick sur chaque ligne d'un tableau, c'est pas ce qu'on fait de mieux (maintenance). Il faudrait voir à organiser un petit gestionnaire d'événement.

      genre, pour afficher l'id de chaque ligne sur laquelle on clique :

      for(let tr of document.querySelectorAll('tr')) {
          tr. onclick = function() {
      	alert(this.id)
          }
      }

      D'autres préféreront un addEventListener et/ou méthode foreach, mais ça fait en gros la même chose.

      -
      Edité par Domi65 22 mai 2024 à 16:44:23

      • Partager sur Facebook
      • Partager sur Twitter

      Tableau (HTML) récupérer le numéro de ligne choisi

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown