|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juillet 2012 Messages : 10 ![]() |
Bonjour,
Je m'arrache les cheveux depuis deux jours car je ne vois et ne comprend pas où est mon erreur. Je souhaite afficher tous les films présents dans ma base et avec du javascript, afficher une sorte de fiche. J'ai bien ma liste des films mais lorsque je veux voir la fiche je retrouve toujours les mêmes informations, c'est à dire le premier film de la base. Voila le code : Code :
Quelqu'un a une idée ? |
||
|
|
00
|
|
|
#2 | ||||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 965 ![]() |
Salut
Je ne vois pas trop quel est coté visuel recherché avec le code JS, vu qu'on a pas le code JS. Toujours est-il qu'il y a des erreurs de HTML, ça pourrait venir de là. Même si cela n'est pas lié, une erreur de HTML sera toujours une erreur. Le code HTML dans la boucle commence par un <tr>, donc on suppose qu'il y a eu un <table> avant la boucle, de même un </table> après la boucle. Avant la fin de la boucle, donc en dernier il est intercalé une <div>. Ce n'est pas correcte. Cela veut dire qu'on aurait un code HTML comme ceci : (je simplifie) Code :
Code :
Ensuite ton tableau comporte plusieurs cellules (<td>). Or, la 1ère ligne (<tr>) contient 4 colonnes, mais la 2ème contient 1 seule colonne. Ce n'est pas correcte, un tableau, et quelque soit le nombre de ligne, toutes les ligne DOIT avoir exactement le même nombre de colonnes. Cependant, visuellement on aimerait avoir qu'une seule colonne (ou que 2), dans ce cas il faut définir le nombre de colonne à fusionner afin de respecter exactement le nombre de cellules. (C'est exactement le même principe que Excel ou OO.) Exemple de table avec 3 lignes, 4 colonnes, dont 1 ligne aura 2 cellule (donc 1 fusion de 2 cellules), puis 1 ligne avec 1 colonne (donc 4 fusions). Code :
Mais encore, on défini dans la boucle une <div> avec un attribut id (id="customPopup"). Cela veut dire qu'il va avoir autant de <div> avec cet id que cela va boucler. C'est une erreur, car un attribut id (qui veut dire identifiant) par définition DOIT être unique (donc jamais plus de 1). Donc 2 chose une : - Soit il ne faut pas utiliser id comme attribut mais autres chose (genre class) - Soit utiliser id mais ne plus mettre dans la boucle mais après la boucle pour que cet élément HTML soit réellement unique dans la page Web. Bref. Les bases en HTML à mon sens ne sont pas encore bien acquises. Tu risques de galérer lors des interactions avec du Css, Javacript et autre. En tout cas un navigateur n'avertis pas en cas d'erreurs de HTML, il ne fait que tant bien que mal interpréter le code, du coup c'est totalement le hasard si c'est le résultat visuel qu'on voulait (en cas d'erreur). A moins d'exploiter un outil de débogage, genre extension Web Développer sur FireFox pour exemple.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||||
|
|
10
|
|
|
#3 |
|
Membre confirmé
![]() Thomas DutrionDéveloppeur Web Inscription : février 2009 Messages : 157 ![]() |
Bonjour,
Il faudrait les codes de showPopup et hidePopup pour en savoir un peu plus... Comme le dit RunCodePhp, ton HTML est mal formé, et c'est ça qui fait que tu ouvres toujours la première popup en fait (ton navigateur prends le premier id trouvé dans le dom, qui est censé être le seul...). |
|
10
|
|
|
#4 |
|
Invité de passage
![]() Inscription : juillet 2012 Messages : 10 ![]() |
Rebonsoir,
RunCodePhp tu as raison je n'ai pas toutes les bases encore. Je suis en train d'apprendre et en ce moment vous m'aidez énormément. J'ai donc corrigé mon code, j'ai sorti mon div de la table de toute façon je le cache. Mais comme tu as dit il n'y a qu'un seul identifiant pour chaque. Or comme tu as pu le voir dans mon code, il se trouve dans une boucle. Mais le truc c'est que je ne vois pas comment faire sinon pour afficher mes fiches avec un id différent. Je vais faire des recherches. Merci beaucoup de votre aide et bonne nuit [EDIT] Problème résolu. Merci à tous les deux pour vos conseils. En fait il a fallu du coup que j'incrément ma div à chaque passage de la boucle et qu'ensuite je passe en paramètre le nom de la div qui s’incrémente à la fonction JS. J'espère que vous m'avez compris mais en tout cas MERCI |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com