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

PHP & Base de données Discussion :

Paramètrer ma requete après sélection dans un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Paramètrer ma requete après sélection dans un formulaire
    Bonjour.

    Je voudrais récupérer les données d'un membre lorsqu'il est sélectionné dans on controle select.
    Je donne tout le script de la page car je ne sais pas :
    - Où mettre la requete,
    - paramétrer la clause Where
    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <?php
      require('connect.php');
      require('fns_validation.php');
    if(isset($_POST['nom']))      $nom=$_POST['nom'];
    else      $nom="";	 
    if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
    else      $prenom=""; 
    if(isset($_POST['profession']))        $profession=$_POST['profession'];
    else      $profession="";
    if(isset($_POST['societe']))        $societe=$_POST['societe'];
    else      $societe=""; 
    if(isset($_POST['adresse']))        $adresse=$_POST['adresse'];
    else      $adresse=""; 
    if(isset($_POST['codep']))        $codep=$_POST['codep'];
    else      $codep="";
    if(isset($_POST['ville']))        $ville=$_POST['ville'];
    else      $ville="";  
    if(isset($_POST['telephone']))        $tel=$_POST['telephone'];
    else      $tel=""; 
    if(isset($_POST['fax']))        $fax=$_POST['fax'];
    else      $fax=""; 
    if(isset($_POST['email']))        $email=$_POST['email'];
    else      $email="";
    if(isset($_POST['date_abo']))        $date_abo=$_POST['date_abo'];
    else      $date_abo=""; 
    if(isset($_POST['codeperso']))        $codeperso=$_POST['codeperso'];
    else      $codeperso="";
    ?>
    <diV align="center">
    <form name="modifier" method="POST">
    <table bgcolor='#cccccc' border="1" style="margin-top:30px">
    	<colgroup width=180>
    	<colgroup width=380>
    	<tr>
    		<td class="tdct" colspan="2" style="height:40px"><b> Modifier les données d'un abonn&eacute;</b>&nbsp;</td>
    	</tr>
    	<tr>
    		<td class="tdct" colspan="2">
    			<SELECT name="membre" style="width:300px">
    			<OPTION value=""></OPTION>
    <?php
    			$result_sql = mysql_query('Select * From r2sadmin Order by nom, prenom',$connexion);
    			while ($row = mysql_fetch_array($result_sql))
    			{ 
    ?>
    			<option value='<?php echo $row['id_abonne']?>'><?php echo $row['code_perso']; echo ",&nbsp;&nbsp;   "; echo $row['nom']; echo ",&nbsp;&nbsp;   "; echo $row['prenom'] ?></option>
    <?
    			}
    			echo '</select>';
    ?>
    		</td>
    	<tr>
    		<td class="tdrg">Nom * :</td><td>&nbsp;<input type="text" name="nom" value="<?php echo $nom;?>" style="height:20px; width=200px" onblur="javascript:this.value=this.value.toUpperCase();"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Prenom * :</td><td>&nbsp;<input type="text" name="prenom" value="<?php echo $prenom;?>" style="height:20px; width=200px"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Profession :</td><td>&nbsp;<input type="text" name="profession" value="<?php echo $profession;?>" style="height:20px; width=200px"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Organisme ou entreprise :</td><td>&nbsp;<input type="text" name="company" value="<?php echo $societe;?>" style="height:20px; width=350px"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Adresse * :</td><td>&nbsp;<input type="text" name="adresse" value="<?php echo $adresse;?>" style="height:20px; width=350px"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Code postal * :</td><td>&nbsp;<input type="text" name="codep" value="<?php echo $codep;?>" style="height:20px; width=60px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    		<font face="verdana"; size=2>&nbsp;&nbsp;Ville * :&nbsp;<input type="text" name="ville" value="<?php echo $ville;?>" style="height:20px; width=185px" onblur="javascript:this.value=this.value.toUpperCase();"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">T&eacute;l&eacute;phone :</td><td>&nbsp;<input type="text" name="telephone" value="<?php echo $tel;?>" style="height:20px; width=100px">
    		<font face="verdana"; size=2>&nbsp;&nbsp;Fax <font color="#cccccc">* </font>:&nbsp;<input type="text" name="fax" value="<?php echo $fax;?>" style="height:20px; width=100px"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Email * :</td><td>&nbsp;<input type="text" name="email" value="<?php echo $email;?>" style="height:20px; width=350px"></td>
    	</tr>
    	<tr>
    		<td class="tdrg">Date d'abonnement * :</td><td>&nbsp;<input onclick="ds_sh(this);" name="date" style="cursor: text; width:100px" /></td></tr>
    	<tr>
    		<td class="tdrg">Code personnel * :</td><td>&nbsp;<input type="text" name="codeperso" value="<?php echo $codeperso;?>" style="height:20px; width=100px"></td>
    	</tr>
    	<tr>
    		<td class="tdct" colspan="2" style="height:30px"><font color="red">Les zones marqu&eacute;es d'une * sont obligatoires.</td>
    	</tr>
    	<tr>
    		<td align="center" colspan="2" style="height:40px"><input type="reset" name="effacer" value="Annuler la saisie" style="width=160px">&nbsp;&nbsp;<input type="submit" name="nouveau" value="Enregistrer l'abonn&eacute;"></td>
    	</tr>
     
    </table>
    </div>
    </form>
    Merci d'avance

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu le mets au tout début de facon à avoir le select sur le bon membre et récupérer les infos également.

  3. #3
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    Comprend pas

    Peux tu être plus explicite sur ce que tu veux faire ?

    Car ton code ne donne pas d'éléments supplémentaire à ta demande....

    Tu veux faire une requête imbriqué, c'est ca ?

    EDIT :

    Je viens de comprendre. Ne faut il pas un truc javascript du genre : onchange="submit", afin de "fixer" la séléction dans le select, et pouvoir récupérer justement les infos utilisateur ?

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Le javascript est pour la soumission, mais apres soumission il faut le faire avec PHP. Un peu comme c'est indiqué dans la FAQ PHP

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Lorsque l'utilisateur sélectionne un membre je veux lancer une requete pour récupérer toutes les données.

    Dans mon SELECT j'ai l'id_abonne. Dans la liste j'ai le code, le nom et le prénom.

    Quand je fais une sélection j'ai donc l'id_abonne.
    Je veux lancer ma requete avec comme condition Where id_abonne =id_abonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result_sql = mysql_query('Select * From r2sadmin WHERE id_abonne=id_abonne',$connexion);
    C'est cette ligne que je n'arrive pas à écrire ni où la mettre.

    D'après Kerod je dois mettre ça au début.
    J'espère que c'est plus clair

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    tu mets à la place de id_abonne : $_POST['nomduselect'] et ca fonctionnera

    Si ca te met une erreur alors il va falloir le passer dans une variable intermédiaire

  7. #7
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Je viens d'essayer ça (c'est le début de ma page)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      require('connect.php');
      require('fns_validation.php');
     
    if (!empty($_POST['membre'])){
    	$result_sql = mysql_query('Select * From r2sadmin Where id_abonne = $_POST['membre']',$connexion);
    	if (mysql_num_rows($sql) > 0)
    	{
    	   $res = mysql_fetch_array($sql);
    	   $nom = $res['nom'];
    	}
    }
    mais j'ai une erreur. Where est surement mal écrit

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    On ne met jamais de $_POST dans une requete de cette manière

    Plutot comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Select * From r2sadmin Where id_abonne = '.$_POST['membre']

  9. #9
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Bon j'ai modifié ma requete mais ça marche pas.
    Je vais reprendre tout ça

  10. #10
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Merci Kerod.

    J'ai tout repis tranquillement et ça marche

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/06/2009, 12h12
  2. Réponses: 8
    Dernier message: 04/11/2008, 11h05
  3. Réponses: 16
    Dernier message: 04/07/2008, 08h07
  4. requête de suppression dans un formulaire
    Par jeje22 dans le forum Access
    Réponses: 2
    Dernier message: 26/09/2006, 16h42
  5. requete pa rametree dans un formulaire
    Par tamerlan dans le forum Access
    Réponses: 5
    Dernier message: 24/03/2006, 15h21

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