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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Script Menu dynamique mysql / php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 9
    Points
    9
    Par défaut Script Menu dynamique mysql / php
    Bonjour, j'ai un petit soucis, je voudrais qu'à partir d'un menu déroulant je puisse cliquer sur un Client (NumClient de ma table 1), ce qui m'afficherai la liste des contrats de ce client (NumContrat de ma table 2).
    J'ai piqué un petit script php ici (celui en PHP)

    et je l'ai modifié comme cela:
    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
     
    <!-- TEST DU SCRIPT-->		
     
     
       <form method="post">
          <select name="tb1" id="tb1"
                  size=10
                  onchange='appel();'>
    	<?php
    	//==========================================
    	//== on affiche dans un select la TABLE 1 ==
    	//==========================================
    	$res=mysql_query("SELECT NumClient FROM client");
    	$max=@mysql_num_rows($res);	
    	for ($nb=0;$nb<$max;$nb++)
       {  $i=mysql_result($res,$nb,"NumClient");
    		if ( isset($_POST["tb1"]) && $_POST["tb1"]==$i )
    				$s=' selected';
    		else	$s='';
          echo '<option'.$s.' value="'.$i.'">'.$i.'</option>';   
    	}
    	?>
          </select>
    	<?php
    	if (isset($_POST["tb1"]))
    	{	//==========================================
    		//== on affiche dans un select la TABLE 2 ==
    		//==========================================
    		?>
     
          <select name="tb2" id="tb2"
                  size=3>
          <?php
    		$rch="WHERE NumClient='".$_POST["tb1"]."'";
    		$res2=mysql_query("SELECT NumContrat FROM contrat".$rch,$bdd_db);
     
    		echo $rch;
    		echo $res2;
    		$max=@mysql_num_rows($res2);		
    		for ($nb=0;$nb<$max;$nb++)
          {  $i=mysql_result($res2,$nb,"NumContrat");
             echo '<option value="'.$i.'">'.$i.'</option>';   
    		}
    		?>
          </select>
    		<?php   
    	}
     
    	?>	
          <input type="submit" />
       </form>
    Ma base de donnée est composée de tableaux,
    table 1: client
    avec les champs : NumClient, Nom....
    table 2: contrat
    avec les champs : NumClient, NumContrat, Date.....

    je vois bien le 1er menu déroulant avec les N° de client dedans mais lorsque je clic sur "envoyer" rien n'apparait dans le 2eme menu, il reste vide.

    Je pense que j'ai mal adapté le script, ou qu'il y a un problème avec "res2"

    Pourriez vous me donner un coup de main svp?

    PS: dans un second temps je ne voudrais plus afficher les contrats du client dans un menu, mais dans un tableau (que j'ai déjà créé), mais je pensais que grâce a ce script, je pourrais comprendre puis adapter.

    Merci a tous

  2. #2
    En attente de confirmation mail
    Inscrit en
    Novembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Novembre 2005
    Messages : 52
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    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
     
    <form method="post">
      <select name="client" id="client" size="10" onchange="appel();">
    <?php
      $res = mysql_query('SELECT NumClient FROM client');
      while ($data = mysql_fetch_array($res)) {
        $s = '';
        if (isset($_POST['client']) AND $_POST['client']==$data['NumClient']) {
          $s = ' selected="selected"';
        }
        echo '    <option value="'. $data['NumClient'] .'"'. $s .' value="'. $data['NumClient'] .'">'. $data['NumClient'] .'</option>';
      }
    ?>
      </select>
    <?php
      if (isset($_POST['client'])) {
    ?>
      <select name="contrat" id="contrat" size="3">
    <?php
      $res = mysql_query('SELECT NumContrat FROM contrat WHERE NumClient='. mysql_real_escape_string($_POST['client']));
      while ($data = mysql_fetch_array($res)) {
        echo '    <option value="'. $data['NumContrat'] .'"'. $s .' value="'. $data['NumContrat'] .'">'. $data['NumContrat'] .'</option>';
      }
    ?>
      </select>
    <?php
      }
    ?>
      <input type="submit" />
    </form>

Discussions similaires

  1. [DOM] menu dynamique php mysql javascript
    Par maxland dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/03/2009, 15h02
  2. Menu dynamique PHP/MySQL
    Par okoweb dans le forum Langage
    Réponses: 12
    Dernier message: 07/03/2009, 09h46
  3. Menu dynamique en PHP
    Par turican2 dans le forum Langage
    Réponses: 1
    Dernier message: 20/01/2009, 10h28
  4. [MySQL] Menu dynamique PHP / MySQL CSS
    Par mouchagheb dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/06/2008, 12h33
  5. calandrier dynamique mysql/php
    Par josémaria dans le forum Administration
    Réponses: 1
    Dernier message: 20/10/2006, 10h12

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