$sql = "SELECT C.id AS idd , C.cout AS dept , C.categorie_art.id AS idr , C.categorie_art FROM categorie_art C ORDER BY C.id ";
$sql = "SELECT C.id AS idd , C.cout AS dept , C.id AS idr FROM categorie_art C ORDER BY C.id ";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?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); $choixbase = mysql_select_db($base, $connexion); //DEBUT $sql1 = "SELECT `id`, `categorie`". " FROM `categorie_art`". " 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['categorie']); /* On incrémente de compteur */ $nb_regions++; } } ?><fieldset style="border: 3px double #FFF; position: absolute; top: 181px; left: 181px; color: #000; text-align: left; width: 1000px; background-color:#FFD7FF"><legend>Selectionnez une Vtement</legend><select name="categorie" id="categorie" onchange="document.forms['chgdept'].submit();" style="background-color:#0FC9F0"> <option value="-1">- - - Choisissez un vetement - - -</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 région et le cas échéant s'il est différent de -1 */ if(isset($idr) && $idr != -1) { /* Cération de la requête pour avoir les départements de cette région */ $sql2 = "SELECT `id`, `cout`". " FROM `categorie_art`". " WHERE `id` = ". $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(); /* 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['cout']); $nd++; } /* Maintenant on peut construire la liste déroulante */ ?><select name="cout" id="cout" style="background-color:#0FC9F0"> <?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 />
<?php
/* Requête SQL de récupération des données */
$sql = "SELECT C.id AS idd
, C.cout AS dept
, C.categorie_art.id AS idr
, C.categorie_art
FROM categorie_art C
ORDER BY C.id ";
/* Connexion et exécution de la requête */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$recherche = mysql_query($sql, $connexion);
/* Pour ne pas écraser mes tableaux, je crée un témoin */
$temoin_r = 0;
/* Création du tableau PHP des valeurs récupérées */
$regions = array();
/* Index du département par tableau régional */
$id = 0;
while($ligne = mysql_fetch_assoc($recherche))
{
$r = $ligne['idr'];
$d = $ligne['idd'];
/* Je vérifie si je suis toujours dans la même région, sinon je crée les tableaux nécessaires */
if($temoin_r != $r)
{
$regions[$r] = array();
/* J'ajoute laa région */
$regions[$r][0] = $ligne['categorie'];
$regions[$r][1] = array();
$regions[$r][2] = array();
$temoin_r = $r;
$id = 0;
}
/* J'ajoute les départements */
$regions[$r][1][$id] = $d;
$regions[$r][2][$id] = $ligne['dept'];
$id++;
}
/* On sérialise le tableau obtenu pour traitement par JavaScript */
$chaine = htmlspecialchars(serialize($regions), ENT_QUOTES);
?>
<script type="text/javascript">
/* <![CDATA[ */
<!--
/*
l'idée est que la personne n'ai pas a saisir le cout sa la categorie qu'il aura choisi.
j'ai n'ai pas plusieurs fois la meme categorie presente dans ma table
16 juin 2015 à 19:38