Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 13/07/2007, 13h06   #1
Candidat au titre de Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 12
Points : 12
Par défaut Liste déroulante : récupération du résultat

comment recuperer le resultat d'un menu deroulant?
j'aimerais le recuper afin d'afficher selon les cas un texte different.
voici mon
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
 
<?php
require 'functions.php';
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
 
// on sélectionne la base
mysql_select_db('asocom');
$choix='2 giga';
$choix2='3 giga';
$choix3='4 giga';
// on crée la requête SQL
$sql = "SELECT id,type,taille,description,prix FROM conf_ram WHERE taille='$choix'";
 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
    echo '<form method="post" action="functions.php">';
    echo '<select name="dd" size="1">
		  <option selected="selected" value="0"> '.$choix. '</option>;
		  <option value="1">' .$choix2. '</option>;
          <option value="2">' .$choix3. '</option>;             
   			 <p id="buttons">
				  <input type="submit" value="rafraichir" />
			</p>
    		</form>';
    }
	if($choix){
		affiche_desc($choix);
	}
	if($choix2){
		affiche_desc($choix2);
	}
	if($choix3){
		affiche_desc($choix3);
	}
// on ferme la connexion à mysql
mysql_close();
?>
CROSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 13h15   #2
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2006
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 66
Points : 37
Points : 37
Salut

Dans ta page functions.php (vu que c'est celle que tu demande dans ton formulaire)

Tu fait la commande suivant tu recupera 0 ou 1 ou 2 c'est à dire ce que tu as mis dans value

Etant donnée que tu as un require dans ton code il serait mieu de faire un test sur l'envoi ou non de valeur.
Code :
1
2
if(isset($_POST['dd'])){
...}
benoît82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 15h27   #3
Candidat au titre de Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 12
Points : 12
yep merci mais maintenant comment faire en sorte que le choix choisit reste visible et que les autres disparaissent dans le menu.
CROSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 15h51   #4
Candidat au titre de Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 12
Points : 12
je poste mon code, en gros il reste bloquer sur 4 ce que je veux c 'est que lorsqu'on selectionne 2 giga je veux que ca reste dessus et non que 4 giga reviennt.ps il m'ecrit le bon texte d'apercu du produit.


lp.php

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
 
<?php
require 'functions.php';
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
 
// on sélectionne la base
mysql_select_db('asocom');
 
////////////////////////////////////////////////////////////////
//declaration des variables 
////////////////////////////////////////////////////////////////
//decalration des differentes ram
$ram='2 giga';
$ram2='3 giga';
$ram3='4 giga';
 
//declaration des emplacement d'origine des listes deroulantes(il en faut autant que de ram
$selected='selected';
$selected2='';
$selected3='';
 
 
// on crée la requête SQL
$sql = "SELECT id,type,taille,description,prix FROM conf_ram WHERE taille='$ram'";
 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {	
 
    // on affiche les informations de l'enregistrement en cours
    	echo '<form method="post" action="ld.php">';
    	echo '<select name="dd" size="1">
			  <option selected='.$selected.' value="0"> '.$ram. '</option>;
		  	  <option selected='.$selected2.' value="1">' .$ram2. '</option>;
          	  <option selected='.$selected3.' value="2">' .$ram3. '</option>;             
   				 <p id="buttons">
					  <input type="submit" value="rafraichir" name"final" />
				</p>
    			</form>';
	    }
	//affichage de la description en fonction de la selection	
	if($_POST['dd'] == 0){
		affiche_desc($ram);
	}
	if($_POST['dd'] == 1){
		affiche_desc($ram2);
	}
	if($_POST['dd'] == 2){
		affiche_desc($ram3);
	}
// on ferme la connexion à mysql
mysql_close();
?>
functions.php

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
 
<? 
 
 
 
//fonction pour afficher le texte en fonction de la selection
	function affiche_desc($choix){
	$sql = "SELECT description FROM conf_ram WHERE taille='$choix'";
	$req = mysql_query($sql);
	while($data = mysql_fetch_assoc($req))
    	{
    	// on affiche les informations de l'enregistrement en cours
    	echo '<b>'.$data['description'];
		} 
	 //select_def(); 
	}
 
 
//function de selection de l'element par defaut
	function select_def(){
 
		switch($_POST['dd'])
		{
			case 0: $selected='selected';
					$selected2='';
					$selected3='';
					break;
 
			case 1: $selected2='selected';
					$selected1='';
					$selected3='';
					break;
 
			case 2: $selected3='selected';
					$selected2='';
					$selected1='';
					break;
 
			default:$selected='selected';
					$selected2='';
					$selected3='';
					break;
			}
		}
?>
CROSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 16h09   #5
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2006
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 66
Points : 37
Points : 37
tu peut essayer ca, je ne l'ai pas teste avec un echo general moi j'ai tout séparé.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
echo '<select name="dd" size="1">
	<option value="0" if($_POST['dd'] == 0) selected>' else >'.$ram. '</option>
	<option value="1" if($_POST['dd'] == 1) selected>' else >' .$ram2. '</option>
          	<option value="2" if($_POST['dd'] == 2) selected>' else >' .$ram3. '</option>
          </select>
          <p id="buttons">
	<input type="submit" value="rafraichir" name"final" />
          </p>
    </form>';
benoît82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 16h35   #6
Candidat au titre de Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 12
Points : 12
Merci beaucoup j'aivais fait plein d'eventualité mais j'avais pas penser a le faire comme ca.
CROSS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h00.


 
 
 
 
Partenaires

Hébergement Web