Bonjour ,

J'ai récupéré sur le net ce script de deux listes liées que j'ai adapté à mes besoins .

Jusque là , pas de soucis .

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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php 
/* On récupère si elle existe la valeur de la catégorie envoyée par le formulaire */ 
$serveur = "localhost"; 
$admin   = "root"; 
$mdp     = "";
$database_facevspile = "facevspile"; 
$idr = isset($_POST['tr'])?$_POST['tr']:null; 
 
?> 
    <?php 
if(isset($_POST['ok']) && isset($_POST['pr']) && $_POST['pr'] != ""  ) 
{ 
    $region_selectionnee = $_POST['tr']; 
    $dept_selectionne = $_POST['pr'];  
?>
    <div id="apDiv27" style="position:absolute; width:245px; height:45px; z-index:13; left: 325px; top: 138px;">
      <p align="center" style="color: #CC3300; font-weight: bold"><?php echo($dept_selectionne); ?> </p> 
    </div>
 
<?php 
} 
?> 
    <?php 
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect() 
*  car on aura besoin de la connexion un peu plus loin dans le script */ 
$connexion = mysql_pconnect($serveur, $admin, $mdp); 
if($connexion != false) 
{ 
    $choixbase = mysql_select_db($database_facevspile, $connexion); 
    $sql1 = "SELECT `id`, `tr`". 
    " FROM `shop_tranches`". 
    " ORDER BY `id`"; 
    $rech_regions = mysql_query($sql1); 
    $code_region = array(); 
    $region = array(); 
    /* On active un compteur pour les régions */ 
    $nb_regions = 0; 
    if($rech_regions != false) 
    { 
        while($ligne = mysql_fetch_assoc($rech_regions)) 
        { 
            array_push($code_region, $ligne['id']); 
            array_push($region, $ligne['tr']); 
 
            /* On incrémente de compteur */ 
            $nb_regions++; 
        } 
    } 
    ?> 
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> 
    <fieldset> 
    <legend>S&eacute;lectionnez la cat&eacute;gorie de vente</legend> 
    <select name="tr" id="tr" onchange="document.forms['chgdept'].submit();"> 
      <option value="-1">- - - Choisissez une cat&eacute;gorie - - -</option> 
      <?php 
    for($i = 0; $i < $nb_regions; $i++) 
    { 
?> 
      <option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option> 
      <?php 
    } 
    ?> 
    </select> 
    <?php 
    mysql_free_result($rech_regions); 
    /* On commence par vérifier si on a envoyé un numéro de catégorie et le cas échéant s'il est différent de -1 */ 
 
    if(isset($idr) && $idr != -1) 
    { 
        /* Création de la requête pour avoir la catégorie secondaire de cette catégorie */ 
        $sql2 = "SELECT *". 
        " FROM `shop_prix`". 
        " WHERE `grandpere` = ". $idr ."". 
        " ORDER BY `id`;"; 
        if($connexion != false) 
        { 
            $rech_dept = mysql_query($sql2, $connexion); 
            /* Un petit compteur pour les départements */ 
            $nd = 0; 
            /* On crée deux tableaux pour les numéros et les noms des départements */ 
            $code_dept = array(); 
            $nom_dept = array();
			$Pfr = array(); 
            /* On va mettre les numéros et noms des départements dans les deux tableaux */ 
            while($ligne_dept = mysql_fetch_assoc($rech_dept)) 
            { 
                array_push($code_dept, $ligne_dept['id']); 
                array_push($nom_dept, $ligne_dept['pr']); 
                $nd++; 
            } 
            /* Maintenant on peut construire la liste déroulante */ 
            ?> 
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post" id="ter"> <select name="pr" id="pr" onchange="document.forms['ter'].submit();"> 
      <option value="-1">- - - Choisissez une cat&eacute;gorie - - -</option> 
      <?php   
            for($d = 0; $d<$nd; $d++) 
            { 
                ?> 
      <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]); ?></option> 
      <?php 
            } 
?> 
      </select> 
    <?php 
        } 
        /* Un petit coup de balai */ 
        mysql_free_result($rech_dept); 
}
?> 
      <br /><input type="submit" name="ok" id="ok" value="Valider" /> 
      </fieldset> 
    </form> 
    <?php 
    /* Terminé, on ferme la connexion */ 
    mysql_close($connexion); 
}
 
else 
{ 
    /* Si on arrive là, c'est pas bon signe, il faut vérifier les  
    * paramètres de connexion, mot de passe, serveur pas démarré etc... */ 
?> 
    <p>Un incident s'est produit lors de la connexion &agrave; la base de donn&eacute;es, veuillez essayer &agrave; nouveau ult&eacute;rieurement.</p> 
    <?php 
} 
 
?>
Mon problème est que ma table prix_ttc comporte 6 champs : id , pr , grandpere , Pfr , Peu , Cfr et Ceu .

Je souhaite afficher par un echo les données Pfr , Peu , Cfr et Ceu qui correspondent à l'id de shop_prix sélectionné par ma liste liée .

Galère pour moi depuis ce matin ...

HAbroc