Programmation liste deroulante + javascript

Fermé
jesaye Messages postés 45 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 20 mai 2015 - 17 mai 2011 à 09:14
 Utilisateur anonyme - 17 mai 2011 à 10:31
Bonjour,
Voila je suis entrain de créer un site de foot et dans la partie Admin j'ai fait une rubrique match avec la liste de toutes les rencontres de toutes mes équipes de mon club. Le probleme chaque équipe à environ 20 matchs donc je me retrouve avec une liste de rencontre énorme.
Je voudrais donc créer 2 liste déroulante et un bouton afficher pour ensuite charger les données selectionée par les liste.

1er liste : les saison enregistrer dans ma base de données.
2eme liste : Nom de l'equipe + chaque competition qui s'y rapporte

Voici l'image du resultat souhaitée

http://jelter.fr/liste.png

J'ai recu le code d'une personne mais je n'arrive pas a remplir mes liste en mysql et je comprend pas pourquoi tous ces new array.

Voici le code :

<form action="match.php" method="post">
<select name="saison" onchange="setMenuPop(this.value)">...</select>
<select name="compete" id="popcompet" >...</select>
<input type="submit" name="submit" value="Afficher">
</form>


<form action="match.php" method="post">
..........liste.............
<!-- dans le cas d'une liste modifiable (comme j'ai fait) il faut des "hidden" pour donner les paramètres nécessaires au formulaire -->
<input type="hidden" name="action" value="update">
<input type="hidden" name="compet" value="$compet">
<input type="hidden" name="saison" value="$saison">
<!-- si le hidden "action" est vide (comme pour le 1er formulaire) il n'affichera que la liste sans enregistrer les modifications éventuelles -->
</form>




<script type="text/javascript">
// la méthode suivante permet de modifier le menu compétitions sans avoir besoin d'ajax
// chaque menu est construit en "cache" en code javascript (j'ai volontairement aéré la structure du 1er pour plus de lisibilité)
// on récupère les tables mysql que l'on utilise pour créer le code javascript à l'aide de php
var js_teams_2010 = new Array("2010", new Array(
new Array("Seniors Equ 1",
new Array("Division 3 A","176"),
new Array("Matchs amicaux","173")
)
),
new Array("Seniors Equ 2",
new Array("Division 2 B","177"),
new Array("Matchs amicaux","186")
)
)
);
var js_teams_2009 = new Array("2009", new Array(new Array("Seniors Equ 1", new Array("Division 3 A","152"), new Array("Matchs amicaux","154")),new Array("Seniors Equ 2", new Array("Division 2 B","153"), new Array("Matchs amicaux","161"))));


// on créé une seule variable qui va conserver toutes les données des saisons avec autant d'éléments que de saisons
var js_teams = new Array(js_teams_2010,js_teams_2009);
<script>




<!-- la fonction javascript qui gère le menu compétitions -->
<script type="text/javascript">
function setMenuPop(year) {
var popcompet = document.getElementById('popcompet');
var curvalue = popcompet.value;
popcompet.options.length=0;
popcompet.innerHTML = "";


for (var j=0; j<js_teams.length;j++) {
if (js_teams[j][0] == year) {
var tm = js_teams[j][1];


for (var k=0; k<tm.length;k++) {
var cp = tm[k];
oOptgroup = document.createElement('OPTGROUP');
oOptgroup.label = cp[0];



for (var i=1; i<cp.length;i++) {
oOption = document.createElement('OPTION');
oOptgroup.appendChild(oOption);
oOption.text = cp[i][0];
oOption.value = cp[i][1];
}


popcompet.appendChild(oOptgroup);



}
}
}
}
<script>
A voir également:

2 réponses

Utilisateur anonyme
17 mai 2011 à 09:55
Bonjour,

Dans le code que vous présentez, ce n'est que du HTML avec du Javascript. En aucun cas vous ne pouvez modifier le contenu de votre base MySQL avec ce code. Il vous faudra inévitablement du code en PHP pour faire ce genre de chose.

J'ai rapidement survolé le code, ce qu'il propose de faire, c'est en fonction du choix fait dans la première liste, remplir la seconde liste, mais les données ne proviennent pas d'une table MySQL, elles sont en dur dans le page.

Cordialement
0
jesaye Messages postés 45 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 20 mai 2015
17 mai 2011 à 10:26
Je vois que vous venez du 67, moi aussi je suis de Sélestat et je fais un site pour le club de foot.

Je voulais savoir si c'étais possible d'avoir un coup de main pour mes liste déroulantes + affichages du résultat.


Cordialement
0
Utilisateur anonyme
17 mai 2011 à 10:31
oui bien entendu, mon petit gars fait du foot dans un club alors bon, un coup de main au bénévoles qui s'occupent de nos petits gars, ça ne peut pas se refuser

Vous pouvez me contacter directement via mon site, on continuera les échanges par mail ce sera plus simple.
0