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 :

Liste déroulante contenant deux champs d'une requete [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut Liste déroulante contenant deux champs d'une requete
    Voilà j'ai une liste déroulante qui affiche deux champs,
    ensuite je recupéré ces deux champs en séparés pour pouvoir faire ma requete suite à l'envoi du formulaire
    Le problème est qu'il ne garde que le dernier champ intitulé et le dernier champ Adresse1 et non ceux de notre sélection, quelqu'un a une idée

    Voila mon code :
    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
    <select name="adressetiers">
    	<?
    	while ($tab = mysql_fetch_array($result)){
      	echo '<option>'.$tab["Intitule"].' '.$tab["Adresse1"].'</option><br>';
    	$intit = $tab["Intitule"];
    	$Adr = $tab["Adresse1"];
    	}
    	?>
      </select>
      </td>
     </tr>
     <tr>
      <td align="center">
      <input type="hidden" name="intitule" value="<? echo $intit;?>">
      <input  type="hidden" name="adresse1" value="<? echo $Adr;?>">  	
      <input type="submit" value="Valider">
      </td>
     </tr>
    </table>
    </form>

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    il faut mettre "<option value='le nom de tes deux champs>'le nom de tes deux champs</option>" puis apres avec un javascript recuperer l'option selectionnee.
    Dans tous les cas, initialiser $intit,$Adr dans ton while n'est pas une bonne idee, car tes variable prendront en valeur les derniers elements de ton query

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    J'ai modifé mon code mais maintenant il ne m'affiche plus rien apres l'envoi du formulaire, je pense que c'est du a mon LIKE dans la requete:

    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
    <form method="POST" action="adressetiers.php">
     <table>
     <tr>
     <td><b>Adresse des interventions</b></td>
     <td rowspan="2">&nbsp;</td>
     <td><b>D&eacute;tail du contrat</b></td>
     </tr>
     <tr>
      <td>
      <select name="adressetiers">
    	<?
    	while ($tab = mysql_fetch_array($result)){
      	echo '<option value="'.$tab["Intitule"].' '.$tab["Adresse1"].'">'.$tab["Intitule"].' '.$tab["Adresse1"].'</option><br>';
    	}
    	?>
      </select>
      </td>
     </tr>
     <tr>
      <td align="center">
      <input type="submit" value="Valider">
      </td>
     </tr>
    </table>
    </form>
     
    <table>
    <tr>
    <td>
    <?
      if(array_key_exists('adressetiers', $_POST)){
      $test = $_POST['adressetiers'];
      {
      $sqlAdr = "SELECT IDADRESSE, Qualite, Intitule, NumeroAdresse, Adresse1, Adresse2, CodePostal, Ville, CodeTiers FROM ADRESSE where CodeTiers = '$codetiers' AND Intitule LIKE '$test' AND Adresse1 LIKE '$test'";
      echo $sqlAdr;
      echo '<br>';
      $resultAdr = mysql_query($sqlAdr);
      while ($tabAdr = mysql_fetch_array($resultAdr)){
      echo $tabAdr["Qualite"].' '.$tabAdr["Intitule"].'<br>';
      echo $tabAdr["NumeroAdresse"].' '.$tabAdr["Adresse1"].'<br>';
      echo $tabAdr["Adresse2"].'<br>';
      echo $tabAdr["CodePostal"].' '.$tabAdr["Ville"].'<br>';
      }
      }
      }
    mysql_close();
    ?>

    et sinon il faudrait faire quoi en javascript

  4. #4
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 444
    Points
    444
    Par défaut
    il va falloir que tu revoie ton code !
    On ne peut pas changée les valeurs d'une variable en PHP, à moins de rechargé la page.

    je te conseil <form name=formulaire methode = post>

    <select name=adressetiers>
    while(...)
    <option value='clef primaire de ta table'>contenu des 2 champs</option>


    </select>
    <input type=submit value=envoyer />

    </form>

    <?php if(isset($_POST['adressetiers'])) /*adressetiers aura la valeur de la clef primaire*/


    $id = $_POST['adressetiers'];
    alors faire une nouvelle requête qui séléctionne les deux champs avec la clé primaire

    ?>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    ca marche merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/01/2009, 13h43
  2. [MySQL] Indexer une liste déroulante sur le champ d'une table
    Par RootsRagga dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/12/2008, 21h39
  3. Réponses: 5
    Dernier message: 16/05/2007, 17h53
  4. somme de deux champs d'une requete
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 22/03/2006, 09h43
  5. Choix entre deux champs dans une requete
    Par Pico10 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/07/2005, 15h36

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