Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/05/2007, 14h30   #1
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 159
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 159
Points : 25
Points : 25
Envoyer un message via MSN à fanette
Par défaut [php5] menu déroulant : 2 dans un fichier

Bonjour,

dans un meme fichier, j'ai deux menu déroulant.
Dans le premier, quand je clique sur une valeur, cela fait apparaitre un tableau. Pour celui ci pas de pb.
Le deuxième fait parti d'un de ces tableaux, et je voudrais que quand je clique sur une valeur, elle reste affichée et que je puisse récup la valeur.

Pour mieux comprendre, voici mon code :
le premier menu :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
<td width="197">
      			<form id="form1" name="form1" method="post" action="">
      			  <strong>
				  	<label><em>Opérations :</em></label>
				  </strong>
				  <select name="selectOp" onchange="document.form1.submit();">
				  	<option>S&eacute;lectionnez</option>
				    <option VALUE="activite">Liste activit&eacute;s</option>
				    <option VALUE="cumul">cumul</option>
				    <option VALUE="S1">S1</option>
				    <option VALUE="S2">S2</option>
				    <option VALUE="S3">S3</option>
				    <option VALUE="S4">S4</option>
				    <option VALUE="S5">S5</option>
				    <option VALUE="S6">S6</option>
				    <option VALUE="S7">S7</option>
				    <option VALUE="S8">S8</option>
				    <option VALUE="S9">S9</option>
				    <option VALUE="S10">S10</option>
				    <option VALUE="S11">S11</option>
				    <option VALUE="S12">S12</option>
				    <option VALUE="S13">S13</option>
				    <option VALUE="S14">S14</option>
				    <option VALUE="S15">S15</option>
				    <option VALUE="S16">S16</option>
				    <option VALUE="S17">S17</option>
				    <option VALUE="S18">S18</option>
				    <option VALUE="S19">S19</option>
				    <option VALUE="S20">S20</option>
				    <option VALUE="S21">S21</option>
				    <option VALUE="S22">S22</option>
				    <option VALUE="S23">S23</option>
				    <option VALUE="S24">S24</option>
				    <option VALUE="S25">S25</option>
				    <option VALUE="S26">S26</option>
				    <option VALUE="S27">S27</option>
				    <option VALUE="S28">S28</option>
				    <option VALUE="S29">S29</option>
				    <option VALUE="S30">S30</option>
				    <option VALUE="S31">S31</option>
				    <option VALUE="S32">S32</option>
				    <option VALUE="S33">S33</option>
				    <option VALUE="S34">S34</option>
				    <option VALUE="S35">S35</option>
				    <option VALUE="S36">S36</option>
				    <option VALUE="S37">S37</option>
				    <option VALUE="S38">S38</option>
				    <option VALUE="S39">S39</option>
				    <option VALUE="S40">S40</option>
				    <option VALUE="S41">S41</option>
				    <option VALUE="S42">S42</option>
				    <option VALUE="S43">S43</option>
				    <option VALUE="S44">S44</option>
				    <option VALUE="S45">S45</option>
				    <option VALUE="S46">S46</option>
				    <option VALUE="S47">S47</option>
				    <option VALUE="S48">S48</option>
				    <option VALUE="S49">S49</option>
				    <option VALUE="S50">S50</option>
				    <option VALUE="S51">S51</option>
				    <option VALUE="S52">S52</option>
				  </select>
				</form>
			</td>
			<!--traitement suivant le choix dans la liste-->
			<?php 
				//verifie que la variable n est pas vide
				if (isset($_POST['selectOp'])){
  					$ACTION=$_POST['selectOp'];
					//si selection activte
					if ($ACTION == 'activite'){
le deuxième menu se trouve dans le ELSE du "if ($ACTION == 'activite')" :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
//affichage du titre du travail en cours
			    		echo '<td width="559">';
			    			echo '<div align="center">';
			      				echo "<h2>Reporting Hebdomadaire : " . $ACTION . "</h2>";
	    					echo '</div>';
	    				echo '</td>';
	    				//fin tableau liste deroulante+titre
	  					echo '</tr>';
						echo '</table>';
						//afficher le tableau des semaines
						echo '<table border="2">';
						  //affichage de la ligne du titre temps
						  echo '<tr>';
						    echo '<td COLSPAN=5 rowspan="2">&nbsp;</td>';
						    echo '<td COLSPAN=6 align="center">Temps</td>';
						  echo '</tr>';
						  //affichage de la ligne des dates
						  echo '<tr>';
						    echo '<td>07-mai</td>';
						    echo '<td>08-mai</td>';
						    echo '<td>09-mai</td>';
						    echo '<td>10-mai</td>';
						    echo '<td>11-mai</td>';
						    echo '<td>s19</td>';
						  echo '</tr>';
						  //affichage de la ligne des projets
						  echo '<tr>';
						    echo '<td>Projets</td>';
						    echo '<td>Type (P/SP) </td>';
						    echo "<td>Etat d'avancement du projet </td>";
						    echo '<td>Statut</td>';
						    echo '<td>Prochaines actions </td>';
						    //affichage cumul heure journée
						    echo '<td>&nbsp;</td>';
						    echo '<td>&nbsp;</td>';
							echo '<td>&nbsp;</td>';
						    echo '<td>&nbsp;</td>';
						    echo '<td>&nbsp;</td>';
						    //affichage cumul heure projets
							echo '<td>&nbsp;</td>';
						  echo '</tr>';
						  echo '<tr>';
						    //requete pour recuperer les projets
				   		   $query = "SELECT projet.libelle, projet.idActivite FROM role,projet WHERE role.idActivite=projet.idActivite and role.idPersonne =" . $_SESSION['id_personne'];
						   //resultat de la requete sous format texte
						   $result = mysql_query($query, $link) or die($query . " - " . mysql_error());
						   //creation liste deroulante sur non projet
						   echo "<td>";
						   echo '<form id="form2" name="form2" method="post" action="">';
						   echo '<select name="selectAct">';
						   	echo '<option>&nbsp;</option>';				   
						   	//creation d un tableau de la requete + boucle pour afficher dans tableau
						    while ($rowP = mysql_fetch_array($result)) {	
								    $PROJET=$rowP['libelle'];
								    $PROJETID=$rowP['idActivite'];
								    echo '<option VALUE="$PROJETID">'.$PROJET.'</option>';
						    }	
						   echo '</select>';
						   echo '</form>';
						   echo "</td>";
						   echo "avant";
						   if (isset($_POST['selectAct'])){
      							echo "justeapres";
      							$ACTIVITE=$_POST['selectAct'];
      							echo "desuiteapres";
								echo $ACTIVITE;
      						}
      						else {
      							echo "non";
      						}
fanette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 14h31   #2
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 159
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 159
Points : 25
Points : 25
Envoyer un message via MSN à fanette
j'avait oublié de vous dire mon pb. Alors je n'arrive pas récupérer la valeur du dexième menu !!!
fanette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 15h09   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Salut
Effectivment c'est mieux avec le problème

J'ai trouvé un problème de quote ' et " et d'interprétation de variables.
Code php :
echo '<option VALUE="$PROJETID">'.$PROJET.'</option>';
à remplacer par
Code php :
echo '<option VALUE="'.$PROJETID.'">'.$PROJET.'</option>';
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 15h17   #4
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 159
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 159
Points : 25
Points : 25
Envoyer un message via MSN à fanette
je viens de faire le modif mais c toujours pareil!!!

dans le deuxième menu, quand je clique sur un element de la liste, on dirait que ca fait rien.
Il faut savoir que je veux que quand je clique sur un element, celui ci reste affiché, je recup sa valeur et aucun autre traitement et fait. D'ou je n'ai pas mis de "Onchange" dans le "select" du menu. faut il quand meme en mettre un si oui avec quel donnée ?
fanette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 15h38   #5
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 159
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 159
Points : 25
Points : 25
Envoyer un message via MSN à fanette
autre précision, pour récup la valeur du premier menu, j'utilise la variable "$_POST".
Je voulais faire la meme chose pour le deuxième menu mais on dirait que elle s'utilise une fois, alors comment faire ??
fanette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 15h42   #6
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Effectivement il manque un petit quelque chose... Si tu ne soumets pas ton formulaire d'une façon ou d'une autre, la valeur dans la liste selectAct n'est pas récupérée.
Le problème c'est que si tu mets un onchange=form2.submit dans ton selectAct, il va te perdre la valeur de ton premier formulaire... a moins de la passer par un champ caché ou quelque chose du même genre.

ce que je peux te proposer c'est quelque chose comme ça :
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo '<form id="form2" name="form2" method="post" action="">';
// on soumet le formulaire lors d'un changement dnas la liste
   echo '<select name="selectAct" onchange="document.form2.submit();">';
	echo '<option>&nbsp;</option>';				   
   	//creation d un tableau de la requete + boucle pour afficher dans tableau
	while ($rowP = mysql_fetch_array($result)) {	
	    $PROJET=$rowP['libelle'];
	    $PROJETID=$rowP['idActivite'];
	    echo '<option VALUE="'.$PROJETID.'">'.$PROJET.'</option>';
	}	
   echo '</select>';
// on revoie la valeur de selectOp pour ne pas la perdre
   echo '<input type="hidden" name="selectOp" value="'.$_POST['selectOp'].'">';
echo '</form>'
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h59.


 
 
 
 
Partenaires

Hébergement Web