Bonjour, je suis bloqué dans mon projet à cause de la question en titre. J'ai vraiment besoin de vous.
Récupérer le TR parent d'un TD parent d'un DIV et vis versa, est-ce possible?
Actuellement, j'ai bidouillé et j'ai donné le même ID à tous les TD dans mon TR.. Puisqu'une ligne (de plusieurs colonnes) de mon tableau concerne le même produit, avec le onclick j'envoie le this.id(clé primaire du produit) et le nouveau contenu... Mais cette bidouille atteint maintenant ses limites, je n'ai pas les connaissances nécessaire pour avancer et je ne sais pas ou chercher.
En effet, 2 cellules ne peuvent pas communiquer entre elles car elles ont le même ID... (j'en ai besoin pour mettre à jour en js le prix TTC et HT lorsqu'on modifie l'un ou l'autre). Sauf que si je donne un ID différent à mes cellules, alors le this.id envoyé en paramètre pour éditer la BDD n'est plus bon. C'est pour cette raison qu'il aurait été une bonne idée de pouvoir récupérer le <tr> parent de tous les TD, car ce TR pourrait contenir une seule fois l'id et être appelé depuis toutes les cellules d'une même ligne.
Evidemment, il y a surement d'autres possibilité de faire (comme récupérer le contenu de la première colonne de la ligne courante qui contient elle-même l'id), qui sont les bienvenues si vous voulez mes les exposer.
Un peu de code et une image pour illustrer.
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 echo '<table> <tr> <th> Image </th> <th>ID</th> <th>Nom</th> <th>Prix</th> <th>Q.</th> <th>Résumé</th> </tr>'; while($row = mysqli_fetch_array($result)) { echo '<td> <img width="100%" id ="monImg" src='.$smallImg.' /></td>'; echo '<td><div contenteditable id="'.$row["id_product"].'" onblur=updateDataBase(this.id,this.innerHTML,1)>' . $row["id_product"] . ' </div></td>'; echo '<td id="aa"><div contenteditable id="'.$row["id_product"].'" onblur=updateDataBase(this.id,this.innerHTML,2)>' . $row["nameProduct"] . '</div></td>'; echo '<td><div contenteditable id="'.$row["id_product"].'" onblur=updateDataBase(this.id,this.innerHTML,3)>' . round($row["price"], 3) . '</div></td>'; echo '<td><div contenteditable id="'.$row["id_product"].'" onblur=updateDataBase(this.id,this.innerHTML,4)>' . $row["quantity"] . '</div></td>'; echo '<td><div contenteditable id="'.$row["id_product"].'" onblur=updateDataBase(this.id,this.innerHTML,5)>' . $row["description_short"] . '</div></td>'; echo "</tr>"; }![]()
Partager