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 :

Liste dynamique associée à une DB [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut Liste dynamique associée à une DB
    Bonjour
    Je vous pose mon problème en espérant avoir votre aide
    j ai deux liste dans la première j'ai les catégories de voiture
    Ex (4x4, citadine, luxe) et la deuxième les types deux voiture (BMW x5, Renault Clio ...) la deuxième liste se charge automatiquement avec le onChange en prenant les données da la base de donnes MySQL.
    Donc le problème c'est que la deuxième liste se charge toujours avec le dernier élément de la base de données.
    Par exemple :
    Dans la catégorie 4x4 on a (BMW x5, Audi Q7, VW touareg)
    et quand je choisis 4x4 dans la deuxième liste apparait (VW touareg, vw touareg, vw touareg,vw touareg,vw touareg,vw touareg)
    et en même temps le nombre d'éléments affiché dépasse celui existant dans la base de données.

    Le 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
    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
    <form name="ThisForm">
     
    <select name="List1" OnChange="setOption(this.form, this.selectedIndex)">
    <option>4x4
    <option>citadine
    <option>luxueuse
    </select><p>
    <select name="List2" OnChange="this.form.ValueIn2.value=this.options[this.selectedIndex].value">
    <option>
    <option>
    <option>
    <option>
    <option>
    <option>_________________
    </select>
     
    </form>
    <script language="javascript">
    <!--
    function setOption(form, index) {
      for (var i = 0; i < form.List2.length; i++) {
        form.List2.options[i].text = "";
        form.List2.options[i].value = "";
      }
     
      if (index == 0) {
     
      <?php
            mysql_connect("localhost","root","");
    		mysql_select_db("voiture");
     
     
    		$ea=mysql_query("SELECT * FROM voiture WHERE categorie='4x4'");
    		while($eb=mysql_fetch_array($ea))
    		{
    		?>
    		for (var i = 0; i < form.List2.length; i++) {
    		 form.List2.options[i].text = "<?php echo $eb['voiture']; ?>";
     
            }	
    		<?php
    		}
    		mysql_close();
      ?>
     
    }
      else if (index == 1) {
      <?php
            mysql_connect("localhost","root","");
    		mysql_select_db("voiture");
     
     
    		$ea=mysql_query("SELECT * FROM voiture WHERE categorie='citadine'");
    		while($eb=mysql_fetch_array($ea))
    		{
    		?>
    		for (var i = 0; i < form.List2.length; i++) {
    		 form.List2.options[i].text = "<?php echo $eb['voiture']; ?>";
            	}
    		<?php
    		}
    		mysql_close();
      ?>
      }
     
      else if (index == 2) {
      <?php
            mysql_connect("localhost","root","");
    		mysql_select_db("voiture");
     
     
    		$ea=mysql_query("SELECT * FROM voiture WHERE categorie='luxueuse'");
    		while($eb=mysql_fetch_array($ea))
    		{
    		?>
    		for (var i = 0; i < form.List2.length; i++) {
    		 form.List2.options[i].text = "<?php echo $eb['voiture']; ?>";
            	}
    		<?php
    		}
    		mysql_close();
      ?>
      }
     
      form.List2.selectedIndex = 0;
      form.ValueIn2.value = form.List2.options[form.List2.selectedIndex].value;
    }
    //-->
    </script>

  2. #2
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    Cà ne peut pas fonctionner comme cela, car quand tu fais un "onchange" le PHP (qui est un language qui s'exécute côté serveur) n'est pas interprété.
    Donc ta seconde liste ne peux pas se mettre à jour.
    Tu devrais essayé la technologie AJAX, voici un très bon tuto qui permet de lier deux listes entre elles.

Discussions similaires

  1. Liste dynamique dans une formule
    Par dawaman dans le forum Excel
    Réponses: 3
    Dernier message: 30/10/2014, 16h49
  2. Réponses: 5
    Dernier message: 06/07/2010, 16h33
  3. liste dynamique php associé a une base de données mysql
    Par tribalnanasss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/07/2010, 14h10
  4. Réponses: 1
    Dernier message: 16/01/2006, 17h36
  5. Problème d'affichage dynamique d'une liste
    Par bor1s dans le forum ASP
    Réponses: 2
    Dernier message: 18/11/2005, 16h18

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