begin process at 2012 05 29 00:12:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

combobox dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

combobox dynamique

mercredi 18 octobre 2006 à 13:33:59 | combobox dynamique

anaa21

Bonjour à tous, je suis entrain de concevoir une application en php et  j'ai besoind'un scriptqui me permet d'afficher la catégorie du produit sélectionné.
Je vous explique  le principe, j'ai 2 tables "produit" et "catégorie" , la 1ere contient la liste des produits et la 2ème leur catégorie. J'ai fais un tableau "dynamique en php" qui me permet de selectionner la liste des produits existants dsla table et j'ai besoin mnt d'un combo qui affiche la catégorie du produit selectionné (exemple produit1 appartient à la categ confiserie, produit2 à la categ lingerie ......)

  merci de votre aide
mercredi 18 octobre 2006 à 13:52:38 | Re : combobox dynamique

younes371

Bon , je peux te repondre en posant cet exemple :
la demonstration est ici : [ Lien ]

le code est :

--
-- Base de données: `regions`
--

-- --------------------------------------------------------

--
-- Structure de la table `region`
--

CREATE TABLE `region` (
  `id_region`   tinyint(4)   NOT NULL   auto_increment,
  `region`      varchar(50)   NOT NULL   default '',
  PRIMARY KEY  (`id_region`)
);

-- --------------------------------------------------------

--
-- Structure de la table `departement`
--

CREATE TABLE `departement` (
  `id_departement`   char(2)   NOT NULL   default '',
  `departement`      varchar(50)   NOT NULL   default '',
  `id_region`      tinyint(4)   NOT NULL   default '0',
  PRIMARY KEY  (`id_departement`),
  KEY `id_region` (`id_region`)
);

-- --------------------------------------------------------

--
-- Contenu de la table `region`
--

INSERT INTO `region` VALUES (1, 'Alsace');
INSERT INTO `region` VALUES (2, 'Aquitaine');
INSERT INTO `region` VALUES (3, 'Auvergne');
INSERT INTO `region` VALUES (4, 'Basse-Normandie');
INSERT INTO `region` VALUES (5, 'Bourgogne');
INSERT INTO `region` VALUES (6, 'Bretagne');
INSERT INTO `region` VALUES (7, 'Centre');
INSERT INTO `region` VALUES (8, 'Champagne');
INSERT INTO `region` VALUES (9, 'Corse');
INSERT INTO `region` VALUES (10, 'Franche-Comté');
INSERT INTO `region` VALUES (11, 'Haute-Normandie');
INSERT INTO `region` VALUES (12, 'Île-de-France');
INSERT INTO `region` VALUES (13, 'Languedoc-Roussillon');
INSERT INTO `region` VALUES (14, 'Limousin');
INSERT INTO `region` VALUES (15, 'Lorraine');
INSERT INTO `region` VALUES (16, 'Midi-Pyrénées');
INSERT INTO `region` VALUES (17, 'Nord-pas-de-Calais');
INSERT INTO `region` VALUES (18, 'Pays de la Loire');
INSERT INTO `region` VALUES (19, 'Picardie');
INSERT INTO `region` VALUES (20, 'Poitou-Charentes');
INSERT INTO `region` VALUES (21, 'Provence-Alpes-Côte-d\'Azur');
INSERT INTO `region` VALUES (22, 'Rhône-Alpes');

--
-- Contenu de la table `departement`
--

INSERT INTO `departement` VALUES ('01', 'Ain', 22);
INSERT INTO `departement` VALUES ('02', 'Aisne', 19);
INSERT INTO `departement` VALUES ('03', 'Allier', 3);
INSERT INTO `departement` VALUES ('04', 'Alpes-de-Haute-Provence', 21);
INSERT INTO `departement` VALUES ('05', 'Hautes-Alpes', 21);
INSERT INTO `departement` VALUES ('06', 'Alpes-Maritimes', 21);
INSERT INTO `departement` VALUES ('07', 'Ardèche', 22);
INSERT INTO `departement` VALUES ('08', 'Ardennes', 8);
INSERT INTO `departement` VALUES ('09', 'Ariège', 16);
INSERT INTO `departement` VALUES ('10', 'Aube', 8);
INSERT INTO `departement` VALUES ('11', 'Aude', 13);
INSERT INTO `departement` VALUES ('12', 'Aveyron', 16);
INSERT INTO `departement` VALUES ('13', 'Bouches-du-Rhône', 21);
INSERT INTO `departement` VALUES ('14', 'Calvados', 4);
INSERT INTO `departement` VALUES ('15', 'Cantal', 3);
INSERT INTO `departement` VALUES ('16', 'Charente', 20);
INSERT INTO `departement` VALUES ('17', 'Charente-Maritime', 20);
INSERT INTO `departement` VALUES ('18', 'Cher', 7);
INSERT INTO `departement` VALUES ('19', 'Corrèze', 14);
INSERT INTO `departement` VALUES ('2A', 'Corse-du-Sud', 9);
INSERT INTO `departement` VALUES ('2B', 'Haute-Corse', 9);
INSERT INTO `departement` VALUES ('21', 'Côte-d\'Or', 5);
INSERT INTO `departement` VALUES ('22', 'Côtes-d\'Armor', 6);
INSERT INTO `departement` VALUES ('23', 'Creuse', 14);
INSERT INTO `departement` VALUES ('24', 'Dordogne', 2);
INSERT INTO `departement` VALUES ('25', 'Doubs', 10);
INSERT INTO `departement` VALUES ('26', 'Drôme', 22);
INSERT INTO `departement` VALUES ('27', 'Eure', 11);
INSERT INTO `departement` VALUES ('28', 'Eure-et-Loir', 7);
INSERT INTO `departement` VALUES ('29', 'Finistère', 6);
INSERT INTO `departement` VALUES ('30', 'Gard', 13);
INSERT INTO `departement` VALUES ('31', 'Haute-Garonne', 16);
INSERT INTO `departement` VALUES ('32', 'Gers', 16);
INSERT INTO `departement` VALUES ('33', 'Gironde', 2);
INSERT INTO `departement` VALUES ('34', 'Hérault', 13);
INSERT INTO `departement` VALUES ('35', 'Ille-et-Vilaine', 6);
INSERT INTO `departement` VALUES ('36', 'Indre', 7);
INSERT INTO `departement` VALUES ('37', 'Indre-et-Loire', 7);
INSERT INTO `departement` VALUES ('38', 'Isère', 22);
INSERT INTO `departement` VALUES ('39', 'Jura', 10);
INSERT INTO `departement` VALUES ('40', 'Landes', 2);
INSERT INTO `departement` VALUES ('41', 'Loir-et-Cher', 7);
INSERT INTO `departement` VALUES ('42', 'Loire', 22);
INSERT INTO `departement` VALUES ('43', 'Haute-Loire', 3);
INSERT INTO `departement` VALUES ('44', 'Loire-Atlantique', 18);
INSERT INTO `departement` VALUES ('45', 'Loiret', 7);
INSERT INTO `departement` VALUES ('46', 'Lot', 16);
INSERT INTO `departement` VALUES ('47', 'Lot-et-Garonne', 2);
INSERT INTO `departement` VALUES ('48', 'Lozère', 13);
INSERT INTO `departement` VALUES ('49', 'Maine-et-Loire', 18);
INSERT INTO `departement` VALUES ('50', 'Manche', 4);
INSERT INTO `departement` VALUES ('51', 'Marne', 8);
INSERT INTO `departement` VALUES ('52', 'Haute-Marne', 8);
INSERT INTO `departement` VALUES ('53', 'Mayenne', 18);
INSERT INTO `departement` VALUES ('54', 'Meurthe-et-Moselle', 15);
INSERT INTO `departement` VALUES ('55', 'Meuse', 15);
INSERT INTO `departement` VALUES ('56', 'Morbihan', 6);
INSERT INTO `departement` VALUES ('57', 'Moselle', 15);
INSERT INTO `departement` VALUES ('58', 'Nièvre', 5);
INSERT INTO `departement` VALUES ('59', 'Nord', 17);
INSERT INTO `departement` VALUES ('60', 'Oise', 19);
INSERT INTO `departement` VALUES ('61', 'Orne', 4);
INSERT INTO `departement` VALUES ('62', 'Pas-de-Calais', 17);
INSERT INTO `departement` VALUES ('63', 'Puy-de-Dôme', 3);
INSERT INTO `departement` VALUES ('64', 'Pyrénées-Atlantiques', 2);
INSERT INTO `departement` VALUES ('65', 'Hautes-Pyrénées', 16);
INSERT INTO `departement` VALUES ('66', 'Pyrénées-Orientales', 13);
INSERT INTO `departement` VALUES ('67', 'Bas-Rhin', 1);
INSERT INTO `departement` VALUES ('68', 'Haut-Rhin', 1);
INSERT INTO `departement` VALUES ('69', 'Rhône', 22);
INSERT INTO `departement` VALUES ('70', 'Haute-Saône', 10);
INSERT INTO `departement` VALUES ('71', 'Saône-et-Loire', 5);
INSERT INTO `departement` VALUES ('72', 'Sarthe', 18);
INSERT INTO `departement` VALUES ('73', 'Savoie', 22);
INSERT INTO `departement` VALUES ('74', 'Haute-Savoie', 22);
INSERT INTO `departement` VALUES ('75', 'Paris', 12);
INSERT INTO `departement` VALUES ('76', 'Seine-Maritime', 11);
INSERT INTO `departement` VALUES ('77', 'Seine-et-Marne', 12);
INSERT INTO `departement` VALUES ('78', 'Yvelines', 12);
INSERT INTO `departement` VALUES ('79', 'Deux-Sèvres', 20);
INSERT INTO `departement` VALUES ('80', 'Somme', 19);
INSERT INTO `departement` VALUES ('81', 'Tarn', 16);
INSERT INTO `departement` VALUES ('82', 'Tarn-et-Garonne', 16);
INSERT INTO `departement` VALUES ('83', 'Var', 21);
INSERT INTO `departement` VALUES ('84', 'Vaucluse', 21);
INSERT INTO `departement` VALUES ('85', 'Vendée', 18);
INSERT INTO `departement` VALUES ('86', 'Vienne', 20);
INSERT INTO `departement` VALUES ('87', 'Haute-Vienne', 14);
INSERT INTO `departement` VALUES ('88', 'Vosges', 15);
INSERT INTO `departement` VALUES ('89', 'Yonne', 5);
INSERT INTO `departement` VALUES ('90', 'Territoire de Belfort', 10);
INSERT INTO `departement` VALUES ('91', 'Essonne', 12);
INSERT INTO `departement` VALUES ('92', 'Hauts-de-Seine', 12);
INSERT INTO `departement` VALUES ('93', 'Seine-Saint-Denis', 12);
INSERT INTO `departement` VALUES ('94', 'Val-de-Marne', 12);
INSERT INTO `departement` VALUES ('95', 'Val-d\'Oise', 12);

et voici le code php :

<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"
);
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur "localhost"
;
$admin   "root"
;
$mdp     ""
;
$base    "regions"
;
/* On récupère si elle existe la valeur de la région envoyée par le formulaire */
$idr = isset($_POST['region'])?$_POST['region']:null
;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Sélectionner un département selon la région choisie</title>
<meta name="description" content="Listes déroulantes dynamiques inter-dépendantes" />
<meta name="keywords" content="" />
<meta name="author" content="Cyrano" />
<meta name="generator" content="Zend Studio Environnement et WebExpert 5" />
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="Pragma" content="no-cache" />
</head>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
<?php
if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != ""
)
{
    
$region_selectionnee $_POST['region'
];
    
$dept_selectionne $_POST['departement'
];
?>
<p>Vous avez sélectionné le département <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p>
<?php
}
?>
<h3>Trouver un département</h3>
<?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($base$connexion);
    
$sql1 "SELECT `id_region`, `region`"
.
    
" FROM `region`"
.
    
" ORDER BY `id_region`"
;
    
$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_region']);
            
array_push($region$ligne['region']);

            
/* On incrémente de compteur */
            
$nb_regions
++;
        }
    }
    
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<fieldset style="border: 3px double #333399">
<legend>Sélectionnez une région</legend>
<select name="region" id="region" onchange="document.forms['chgdept'].submit();">
  <option value="-1">- - - Choisissez une région - - -</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_departement`, `departement`"
.
        
" FROM `departement`"
.
        
" WHERE `id_region` = "$idr .""
.
        
" ORDER BY `id_departement`;"
;
        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_departement']);
                
array_push($nom_dept$ligne_dept['departement']);
                
$nd
++;
            }
            
/* Maintenant on peut construire la liste déroulante */
            
?>
<select name="departement" id="departement">
            
<?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]." ("$code_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="Envoyer" />
</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 à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php
}
?>
</body>
</html>

mercredi 18 octobre 2006 à 13:53:31 | Re : combobox dynamique

younes371

en fait ce code est extrait de :
[ Lien ] 
mercredi 18 octobre 2006 à 15:56:16 | Re : combobox dynamique

anaa21

Merci younes371 pour ton aide , je te file mon scipt pr mieux comprendre ce dont  j'ai besoin:

<?php
require_once"login/connect_.php";
?>

<html>
<head>
<title>List des produits</title>
</head>
<body>

<?php

    if(isset($_REQUEST["Action"]))
    {
    $action = $_REQUEST["Action"];
       
                     if ($action == "Delete")
                    {
                        $code_produit  = $_REQUEST["code
_produit  "];
                        $SQL   = "delete from produits ";
                        $SQL  .= "where code_produit = " . $code_produit;
                  $res = $db_object->query($SQL);
                    }                                           
    }
<?php

        $sql="select produit.code_produit, produit.nom, categorie.nom_categ, produit.code_categorie  from produit, categorie
                where produit.code_categorie=categorie.code_categorie";

 $rs = $db_object->query($sql);
?>
</table>

<p>&nbsp;</p>
<form name="myform" id="myform" method="post" >
  <table width="100%"  border="3" cellpadding="0" cellspacing="0"  bordercolor='#FFFFFF'>
    <tr>
      <td width="3%"  height='10px'   background='glbnav_background.gif' class="textiria style2"> <div align="left">N°</div></td>
   
<td width="3%"  height='10px'   background='glbnav_background.gif' class="textiria style2"> <div align="left">Nom Poroduit</div></td>
      <td width="13%" height='23px'   background='glbnav_background.gif' class="textiria style2"> <div align="left">Categorie</div></td>
    
    </tr>

    <?php

        while($listing=$rs->fetchRow(DB_FETCHMODE_ASSOC))
{

    <tr bgcolor="#F5F5F5">
      <td class="textiria"><?php echo  "&nbsp;".$listing["code_produit"];?></td>
      <td class="textiria"><?php echo "&nbsp;". addslashes($listing["Nom"]); ?></td>    
      <td class="textiria">
     
<?php 
$sql = "SELECT code_categorie , nom_categ  FROM categorie   order by code_category  ";   
$res = $db_object->query($sql);
while($row =$res->fetchRow(DB_FETCHMODE_ASSOC)){
$categ=$row["code_categorie"];
//$categ=count($res);
//echo $categ;
}
?>     
     
<?php

$ordr ="&nbsp;". "<select name='txtcode_".$listing["code_produit"] ."'style='width:100px 'class='inputfields >";

                 for($i=0; $i<$categ+1;$i++)
                 {
                     if($i==$listing["code_categorie"]) {
                        $iselected = "selected";}
                    else{
                        $iselected = "";}
                    $ordr .= "<option value='$i' $iselected  >Category ".$i."</option>";

                     }
               echo @$ordr;           
                        echo "</select>";
                           
                           

?>

</td>

    </tr>
      
?>

    <?php  } ?>

</table>
</form>
</span>
</body>
</html>



Le prob se situe au niveau du combo , alors si tu pe m'aider j'en serai reconnaissante :d
merci d'avance
mercredi 18 octobre 2006 à 15:59:43 | Re : combobox dynamique

younes371

si tu pe meme ecrire le script de la creation de la base de données, comme j'essayes chez moi, et je t'envois le resultat .
si tu pe pas veuillez me contacter via ma boite :
younes_bt@hotmail.com



Cette discussion est classée dans : combobox, dynamique, php, produit, catégorie


Répondre à ce message

Sujets en rapport avec ce message

Création de catégorie et de sous catégories [ par ravling ] Bonjour à tous.Je fais actuellement un stage au CNRS de Pau. On m'a demandé de faire une application en PHP pour gérer des liens inscrits par des util tableau dynamique html avec variables php [ par pixelver ] Bonjour,j'aurais voulu savoir comment si prendre pour gerer un tablaeu html dynamiquement a partir de variable php. j'ai une liste de cours et de date site dynamique en php [ par brezoneg ] Bonjour,J'ai découvert Guppy ( www.freeguppy.org ) qui permet de créer son site en dynamique sans trop connaitre les langages de programmation. Existe Jukebox dynamique [ par isomorphe ] Bonjour tout le monde, j'aurais besoin que vous me disiez si la chose suivante est réalisable en PHP. Je voudrais en fait réaliser un jukebox (mp3) dy Menu dynamique PHP [ par zorax69 ] Hello,Je voudrais faire un menu vertical du type :gamme1___sous-gamme11______produit1______produit2___sous-gamme12______produit5______produit7gamme2__ Gif Dynamique [ par miouge ] Bonjour,Voila après avoir réaliser un "script" pour fabriquer dynamiquement un png format 468*60 etc... j'aimerais savoir si il est possible de créer URGENT [ par poofes ] un grand salut a vous tous, bon vraiment la je suis coinsé, je suis un debutant en php, g choisi phpnuke pour creer mon 1 site dynamique.m'as question Liste deroulante avec php [ par lutin06 ] Salut a tous Je vous explique mon probleme : Sur mon site de vente en ligne , je dispose d'un tableau avec des produits , dans chaque case du tablea Cryptage des sources PHP [ par Will28 ] Bonjour, je voulais savoir si quelqu'un pouvait me renseigner sur le cryptage des sources PHP, et plus spécialement sur les produit Zend.En fait je dé une galerie video dynamique dans flash [ par emolvot ] manolo vous dit : salut tt le monde, bon là j'ai un pb. Je voudrais faire une une galerie video dynamique dans flash. J'ai les bases dans php, le co


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales