IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Recuperation valeur d'un select


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut [PHP-JS] Recuperation valeur d'un select
    Bonjour à vous , voila je me retourne sur ce forum car j'ai quelque petits ennuis .

    Donc voila , je n'arrive pas à recuperer la valeur d'une balise select.
    Voici le bout de code :

    select.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    73
    <?php
     
    mysql_connect('localhost','root','online') or die("erreur de connexion au serveur");
    mysql_select_db('contrat') or die("erreur de connexion a la base de donnees");
     
    $sql="SELECT id, societe FROM fr_contrat ORDER BY societe ASC";
    $req=mysql_query($sql) or die(mysql_error());
    $req2=mysql_query($sql) or die(mysql_error());
     
     
     
    echo"
    <html>
    <head>
    <title>Fiche Contrat</title>
    <link rel='stylesheet' type='text/css' href='style.css'>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
    </head>
    <body>
    <form action='creationContratClient.php'> 
    <table width='900' border='0' align='center' cellpadding='0' cellspacing='0'>
    <br>
    
    
    <!--Information générale -->
    
    
    <!--CHOIX CONTRAT --> 
    
     
        <table width='60%' border='0' align='center'>
         	<tr>
           	<td width='100%' height='20' colspan='6' align='left' bgcolor='#800040' class='bordure5'><font color='white' type='bold'><b>&nbsp;&nbsp;CHOIX CONTRAT CLIENT</b></font></td>
          </tr>
          <tr>
           	<td width='50%' bgcolor='#F5F5F5' class='bordure9'>
    	 		<div align='right'>
    		    		<select name='opt' style='border:0px solid; font-weight:normal;'>
    				<option value=''></option>
    			";		    
    				while($cat = mysql_fetch_array($req))
    				{
    					echo '<option value="'.$cat['id'].'">' . $cat['societe'] . '</option>';
     
    				}
    				$var = $_POST['opt'];
     
     
    			echo "
    				</select>
    			
    
    
    
    					<a href='./visualisationContratClient.php?param=$var' style='text-decoration:none;
      						color:black;
      						text-align:center;
      						font-weight:bold;
      						font-size:9.5px;
      						background-color:#ffffff;
      						padding:3px;
      						border-width:1px;
      						border-color:grey' target=_blank>Ok</a>
    			
    	 		</div>
    	 	</td>
    	</tr>
        </table>
    
    </body>
    </html>";
     
    ?>
    Je remplie ma liste deroulante à partir de ma base de donnée, je pensais au depart pouvoir , une fois mon choix fait ds la liste déroulante , afficher une autre page avec simple clik sur la liste mais je n'ai pas trouver de solution donc je me suis dis qu'un bouton auquel je passerai les valeur du select marcherais , et effectivement je coince

    Avez vous un petite idée =) ....
    Merci d'avance , Emmanuel.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    J'ai pas tout compris, mais dans tous les cas, il te faut du JavaScript car n'attends pas du navigateur ou de HTML de faire remplacer magiquement des variables ($var par exemple) par la bonne valeur : il faut que tu utilises l'événement onselect de ta select box ou l'événement onclick du lien pour récupérer la valeur sélectionnée dans la liste et ouvrir une nouvelle fenêtre.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    D'abord une remarque :A quoi te sert une double execution de ta requete ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req=mysql_query($sql) or die(mysql_error());
    $req2=mysql_query($sql) or die(mysql_error());
    Si tu souhaites envoyer des données vers une autre page, il te faut soit un bouton submit (dont c'est la raison d'être), soit un événement javascript appelant la fonction submit().

    Et au cas où, ça pourrait t'être utile : Les formulaires html et les formulaires et php5

    Bon courage !
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Bonjour _Mac_ , j'ai effectivement pensé au javascript et à l'attribut onclik mais etant vraiment débutant je n'arrive pas à le mettre en place.

    Ce que j'aimerai finalement , c'est que l'utilsateur puisse cliker sur un choix dans la liste et soit automatiquement redirigé vers une autre page , en pouvant biensur recuperer la valeur du select , donc nous pourions oublier le bouton =).

    Suis -je assez explicite pour que tu puisse me mettre sur la bonne voie ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Bonjour Celira , la double execution est simplement une erreur de copier / coller .

    J'ai egalement essayer de passer avec un bouton submit mais comment lui passer des parametres , je sais le faire avec un href mais pas avec le submit , oui je sais je suis nul

    De toute facon j'aimerai me passer du bouton , cela est-il possible deja ?

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu n'as pas besoin de passer des paramètres à un bouton submit, c'est lui qui s'en occupe... à condition d'avoir donné une méthode à ton formulaire.
    Et si tu veux te passer du bouton submit, tu peux utiliser un événement JS et la fonction submit(). Par exemple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action='creationContratClient.php' method='post' name='form'> 
    ...
    <select name='opt' onselect='form.submit()'>
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Je vais essayer ca tout de suite , merci de vos reponses ...
    Je vous tiens au courant

  8. #8
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    J'ai bien mis en place le onselect mais rien ne se passe lors d'un choix dans la liste ...

    Une petite question , la valeur du select selectionné n'est pas recuperée lors d'un clik , cela ne fait qu'appelé la page creationContratClient.php ?

    Merci d'avance.

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ben oui, c'est l'action que tu as mise dans ton formulaire. Dans creationContratClient.php, tu peux récupérer la variable que tu as sélectionnée en utilisant $_POST:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $opt = $_POST['opt'];
    echo 'voila la variable : '.$opt ;
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par dudezerff
    J'ai bien mis en place le onselect mais rien ne se passe lors d'un choix dans la liste ...
    Balance ton code parce que comme ça, on ne peut absolument pas t'aider. Si tu mets juste onselect="this.form.submit()" tout ce que ça fait c'est poster le formulaire. Alors ça peut marcher mais il faut que l'action de ton formulaire ce soit creationContratClient.php. Et après, en fonction si ton formulaire fait un GET ou un POST (attribut method), il faut utiliser respectivement $_GET["opt"] ou $_POST["opt"] pour récupérer la valeur sélectionner dans ta liste.

    Citation Envoyé par dudezerff
    Une petite question , la valeur du select selectionné n'est pas recuperée lors d'un clik , cela ne fait qu'appelé la page creationContratClient.php ?
    Ah ben non, c'est pas magique, comme je disais : faut que ton code JavaScript aille récupèrer cette valeur.

    En gros, il te faut un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script>
    function selectOpt() {
        var optID = document.forms[0].opt.value;
        window.open('creationContratClient.php?opt=' + optID);
    }
    </script>
     
    ...
     
    <select ... onclick="selectOpt();">
    ...

  11. #11
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Dacord , mais je suis bloqué avec le onselect , jai essayé onclik mais il ne veut pas ouvrir la page creationContratClient.php

  12. #12
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    mysql_connect('localhost','root','online') or die("erreur de connexion au serveur");
    mysql_select_db('contrat') or die("erreur de connexion a la base de donnees");
     
    $sql="SELECT id, societe FROM fr_contrat ORDER BY societe ASC";
    $req=mysql_query($sql) or die(mysql_error());
     
     
     
     
    echo"
    <html>
    <head>
    <title>Fiche Contrat</title>
    <link rel='stylesheet' type='text/css' href='style.css'>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
    </head>
    <body>
    
    <table width='900' border='0' align='center' cellpadding='0' cellspacing='0'>
    <br>
    
    
    
    
    <!--CHOIX CONTRAT --> 
    
        <form action='visualisationContratClient.php' method='post' name='form'> 
        <table width='60%' border='0' align='center'>
         	<tr>
           	<td width='100%' height='20' colspan='6' align='left' bgcolor='#800040' class='bordure5'><font color='white' type='bold'><b>&nbsp;&nbsp;CHOIX CONTRAT CLIENT</b></font></td>
          </tr>
          <tr>
           	<td width='50%' bgcolor='#F5F5F5' class='bordure9'>
    	 		<div align='right'>
    		    		<select name='opt' onclik='form.submit()' style='border:0px solid; font-weight:normal;'>
    				<option value=''></option>
    			";		    
    				while($cat = mysql_fetch_array($req))
    				{
    					echo '<option value="'.$cat['id'].'">' . $cat['societe'] . '</option>';
     
    				}
     
    			echo "
    				</select>			
    	 		</div>
    	 	</td>
    	</tr>
        </table>
        </form>
    
    
    
    
    </body>
    </html>";
     
    ?>

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le fait que ce soit onClick et non onclik y est sans doute pour quelque chose

    Pour voir ce qui passe réellement par post, tu peux ajouter un print_r au début de la page d'arrivée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '<pre>'.print_r($_POST).'</pre>';
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  14. #14
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Je viens d'essayer de faire quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <!--CHOIX CONTRAT --> 
        <script>
    		function selectOpt() {
        		var optID = document.forms[0].opt.value;
       		window.open('visualisationContratClient.php?opt=' + optID);
    		}
        </script>
        <!-- <form action='visualisationContratClient.php' method='post' name='form'> -->
        <table width='60%' border='0' align='center'>
         	<tr>
           	<td width='100%' height='20' colspan='6' align='left' bgcolor='#800040' class='bordure5'><font color='white' type='bold'><b>&nbsp;&nbsp;CHOIX CONTRAT CLIENT</b></font></td>
          </tr>
          <tr>
           	<td width='50%' bgcolor='#F5F5F5' class='bordure9'>
    	 		<div align='right'>
    		    		<select name='opt' onClick='selectOpt()' style='border:0px solid; font-weight:normal;'>
    				<option value=''></option>
    			";		    
    				while($cat = mysql_fetch_array($req))
    				{
    					echo '<option value="'.$cat['id'].'">' . $cat['societe'] . '</option>';
    				}
     
    			echo "
    				</select>			
    	 		</div>
    	 	</td>
    	</tr>
        </table>
    Ca ne marche toujours pas
    En ce qui concerne le onclick , je viens de rectifier merci

  15. #15
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Bon je viens d'essayer la methode de celira cad :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        <form action='visualisationContratClient.php' method='post' name='form'>
        <table width='60%' border='0' align='center'>
         	<tr>
           	<td width='100%' height='20' colspan='6' align='left' bgcolor='#800040' class='bordure5'><font color='white' type='bold'><b>&nbsp;&nbsp;CHOIX CONTRAT CLIENT</b></font></td>
          </tr>
          <tr>
           	<td width='50%' bgcolor='#F5F5F5' class='bordure9'>
    	 		<div align='right'>
    		    		<select name='opt' onClick='form.submit()' style='border:0px solid; font-weight:normal;'>
    				<option value=''></option>
    			";		    
    				while($cat = mysql_fetch_array($req))
    				{
    					echo '<option value="'.$cat['id'].'">' . $cat['societe'] . '</option>';
    				}
     
    			echo "
    				</select>			
    	 		</div>
    	 	</td>
    	</tr>
        </table>
        </form>
    cependant , l'utilisation de la liste n'est pas aisée .En effet lors d'un click pour ouvrir la liste , la page visualisationContratClient.php est directement apellée, ce qui m'oblige a rester apuyer sur le bouton de la sourie pour faire un autre choix que la premiere option de la liste .J'ai essayé onselect mais qui est sans effet

  16. #16
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    essaie le "onchange" qui sera appelé quand la valeur de la liste sera changée
    du coup tu peux meme l'ouvrir pour voir les autres choix et si tu changes d'avis et que tu laisses l'ancienne valeur aucun évènement ne sera détecté.

  17. #17
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    Je viens d'essayer et cela fonctionne , merci koopajah !
    M'endormirai moins bete ce soir ihih
    A bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperer valeur d'un select
    Par S.Jihad dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/03/2010, 21h51
  2. [PHP-JS] recuperer valeur d'une liste generé par javascript
    Par crevettes59000 dans le forum Langage
    Réponses: 2
    Dernier message: 05/03/2006, 09h11
  3. [Ajax ] Recuperation de la valeur d'un select pour traitemen
    Par NeHuS dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/02/2006, 15h50
  4. recupere valeur d'une balise select
    Par naourass dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/11/2005, 10h18
  5. [sgbd] Recuperer valeurs d'un Select dans un tableau
    Par Mu_Belier dans le forum SGBD
    Réponses: 16
    Dernier message: 27/05/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo