|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Bonsoir,
Je souhaite mettre en place un ensemble de listes déroulantes liées les unes aux autres pour que la dernière d'entre elles débouche sur l'ouverture d'une page web spécifique aux choix sélectionnés. J'ai fait quelques recherches mais mon problème me parait vraiment trop spécifique, je n'ai pas suffisamment de connaissances pour croiser mon cas avec les solutions que j'ai pu lire par ci par là.. J'ai mis en application la solution donnée partie "IV-A. Listes liées" de ce lien : http://siddh.developpez.com/articles/ajax/#LIV-A Après modifications pour mon usage particulier, tout fonctionne, les listes s'affichent et sont bien dépendantes. Seulement je ne sais pas comment déboucher sur l'ouverture d'une page. J'ai les 3 fichiers équivalents à auteurs.php, ajaxLivre.php et la requete SQL. Mais je ne sais pas dans lequel je dois agir et comment. J'espère que je suis assez clair, n'hésitez pas à me demander davantage de précision. D'avance merci, Teel |
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Inscription : février 2008 Messages : 3 302 ![]() |
il faudrait agir sur ta dernière liste celle comprenant les liens vers la page souhaité. de la sur un on change tu peux effectuer donc une redirection en javascript ou ajax en fonction de ton choix.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Bonjour,
Merci de votre aide, Le problème est que justement je ne sais où placer les liens en rapport avec les choix. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Personne n'a une idée ? Je souhaite simplement que la selection d'une choix de la deuxieme liste engendre l'ouverture d'une page spécifique par choix. Mais je ne sais sur lequel des trois fichiers agir et avec quel code. Je suis vraiment débutant.
J'ai fait beaucoup de recherches mais la plupart des reponses sont pour des choses bien plus complexes et les reponses apportées sont d'experts à experts, j'ai du mal à suivre. Merci |
|
|
00
|
|
|
#5 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
Bonjour,
comme dit par Vil'Coyote, c'est ton dernier SELECT qui doit contenir le lien, exemple Code html :
|
||
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Bonjour,
Merci de m'avoir répondu et désolé de ne répondre que maintenant, j'étais pris par un autre projet. Je ne sais pas où placer ce code, j'ai éventuellement ce bout de code qui me semble exploitable, mais je ne peux pas écrire une ligne par choix, tous les choix sont entrés dans la base de données mysql. Code php :
Je ne m'en sors pas, j'ai suivi à la lettre le tutoriel cité plus haut et impossible seul de l'adapter pour ouvrir une page à la sélection d'un choix. Merci encore de m'aider, Teel |
||
|
|
00
|
|
|
#7 | |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Bonjour,
Je n'ai pas pu lire le fils depuis le début (trop de boulot) mais modifie l'id ou le name de l'un de ces éléments: Citation:
A+. |
|
|
|
00
|
|
|
#8 | |
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Citation:
Personne n'a une idée ? |
|
|
|
00
|
|
|
#9 | ||
![]() ![]() Dr. PetersWebmaster Inscription : novembre 2006 Messages : 3 618 ![]() |
Bonjour
Voilà à quoi cela devrait ressembler : Il faut bien sur que la valeur de $row["id"] corresponde à une page web du genre "nomauteur.html" qui soit valide... Code html :
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS ! Votez pour les messages qui vous ont aidés...
|
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Bonjour,
Merci de votre aide. Une fois ce code inséré, où est-ce que je devrai placer la liste de pages web à associer aux choix sélectionnés ? |
|
|
00
|
|
|
#11 |
![]() ![]() Dr. PetersWebmaster Inscription : novembre 2006 Messages : 3 618 ![]() |
Avec ce code c'est la valeur de l'attribut value se trouvant dans chaque balise <option> qui est utilisé pour le renvoi.
Si cette valeur est par exemple "nomartiste.html" tu sera renvoyé sur le fichier "nomartiste.html". Que fait ton code php -> il lit les données de la base de données. En l’occurrence il utilise comme valeur de l'attribut 'value' ce qu'il trouve dans la colonne 'id' de ta table 'auteur'. Reste plus qu'à associer le nom du fichier vers lequel tu veux renvoyer avec ces valeurs de cette table.
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS ! Votez pour les messages qui vous ont aidés...
|
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Bonjour,
Désolé mais j'ai beau retourner le code dans tous les sens je n'arrive toujours pas à comprendre comment lier une valeur de ma BDD à un lien.. J'ai réussi à obtenir de renvoyer vers Google en cliquant sur le choix "test". Mais c'est totalement indépendant de la première liste.. Je n'arrive pas à faire que les choix fournis par ma BDD renvoient à un lien spécifique chacun. Pourriez vous me donner un bout de code exemple ? Dans tous les cas merci beaucoup de m'aider. Code html :
|
||
|
|
00
|
|
|
#13 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
relis bien ce qui a été écrit plusieurs fois et notamment
Citation:
|
|
|
|
10
|
|
|
#14 | ||
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Je viens de vérifier le code source de la page générée, et les valeurs des "id" sont des chiffres, le rang auquel chaque choix est fixé, exemple :
Code html :
J'ai bien essayé de remplacer ces chiffres par les noms des pages à lier mais la requête SQL échoue. |
||
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
|
|
|
00
|
|
|
#16 |
![]() ![]() Dr. PetersWebmaster Inscription : novembre 2006 Messages : 3 618 ![]() |
Déjà dire que la requête SQL échoue sans préciser en quoi elle échoue, ce qui se passe, etc... ça fait pas avancer le schmilblick !!
Déjà là le contenu de value correspond à un chiffre, or j'avais bien dit qu'il fallait que ça corresponde au nom de ta page. Il manque donc l'extension ! Alors commence déjà par la rajouter : Code php :
echo "<option value='".$row["id"].".html'>".$row["nom"]."</option>"; Maintenant si ton id c'est 1 et que tu as une page qui s'appelle 1.html au même niveau de l'arborescence que cette page, ton renvoi fonctionnera. Après il faudra peut être modifier ta base de données pour l'adapter à tes besoins, mais tu pourrait aussi remplacer $row["id"] par $row["nom"] ainsi tes pages appelées auraient le nom de l'auteur.
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS ! Votez pour les messages qui vous ont aidés...
|
|
|
00
|
|
|
#17 | ||||
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
J'ai ajouté une colonne page à la deuxième table de la base de données, celle qui contient les choix de la deuxième liste déroulante.
J'ai réussi à faire que cela fonctionne en ne travaillant d'abord que sur la première liste. Ainsi j'avais une liste déroulante avec mes choix et lorsque je la sélectionnais cela me renvoyait vers le lien indiqué dans la colonne page de la BDD. Seulement maintenant lorsque je reviens à une page avec deux listes liées, la première indique bien à la seconde les choix à afficher mais le lien n'est pas effectif. Code html :
J'imagine qu'il faut que j'ajoute un deuxième bout de code comme celui ci : Code php :
En dessous des balises concernant la deuxième liste, mais j'ai essayé avec diverses options et rien de fonctionnel.. |
||||
|
|
00
|
|
|
#18 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
Code php :
echo "<option value='".$row["id"].".html'>".$row["nom"]."</option>"; Code php :
echo "<option value='".$row["page"].".html'>".$row["nom"]."</option>"; - 1st SELECT -> choix de l'auteur -> affichage 2nd SELECT - 2nd SELECT -> choix des livres -> redirection est ce bien cela, car dans ce que je visualise de tes codes j'en doute!!! |
|
|
00
|
|
|
#19 | |
|
Invité de passage
![]() Romain Romain BarbierÉtudiant Inscription : avril 2011 Messages : 12 ![]() |
Citation:
Mais je n'y parviens pas. En utilisant ce code : Code :
echo "<option value='".$row["page"].".html'>".$row["nom"]."</option>"; |
|
|
|
00
|
|
|
#20 | ||
![]() ![]() Dr. PetersWebmaster Inscription : novembre 2006 Messages : 3 618 ![]() |
J'en étais resté au rechargement de la page pour ma part, j'avais pas saisi le problème des 2 listes.
Donc je vois que tu n'as pas mis le code javascript pour le rafraichissement sur les 2 select. C'est quoi cette fonction javascript go() ? Elle fais quoi ? Je mettrais la fonction javascript gotonewpage(this) sur le 1er select en mettant dans les option le code suivant : Code php :
echo "<option value='nom_page.html?auteur=".$row["nom"]."'>".$row["nom"]."</option>"; Ainsi tu récupère le nom de l'auteur sélectionné via $_GET['auteur']. Tu vas utiliser cette variable pour faire la recherche des livres de cet auteur : Code php :
En supposant que dans ta base tu ais une table livres contenant une colonne livres dans laquelle se trouve le nom des livres et une colonne auteur avec le nom de l'auteur du livre. A adapter à ta base de données. Puis tu utilises $row["livre"] pour l'injecter dans les <option> comme tu as fait au dessus. Bon y a mieux que ça par exemple la méthode dans le 1er tutoriel que tu cites, ceci est une autre méthode 'moins propre'... c'est déjà un début. Essaye d'intégrer tout ça et dis nous...
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS ! Votez pour les messages qui vous ont aidés...
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com