cs_Hector78
Messages postés62Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 5 mai 2010
-
4 nov. 2004 à 09:19
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008
-
4 nov. 2004 à 14:21
Hello !
J'ai un petit problème avec un formulaire que je suis en train de créer. En effet, je voudrais créer une relation maitre/détail, qui se mettre à jour automatiquement.
Par exemple quand je fais mon choix dans la combo categorie, je voudrais que la liste des sous-categories s'afficher dans la combo en dessous. Un fonctionnement pourtant simple et standard (dans d'autres langages), mais là je sèche (PHP-SQL-HTML), je ne vois pas comment faire. Est-ce que quelqu'un pourrait me donner un coup de main ?
Voici mon code :
COMBO 1
=====
<?
$marequete="SELECT DISTINCT cat_mere FROM tbl_categorie ORDER by cat_mere";
$monresultat=mysql_query($marequete);
?>
<select name="item_type" id="item_type" >
<?
while($row = mysql_fetch_array($monresultat))
{
echo "<option value=".$row["cat_mere"].">".$row["cat_mere"]."</option>";
}
?>
</select>
COMBO 2
=====
<?
$marequete2="SELECT cat_fils FROM tbl_categorie WHERE cat_mere='".$item_type."' ORDER by cat_fils";
echo $item_type;
$monresultat2=mysql_query($marequete2);
?>
<select name="item_soustype" id="item_soustype">
<?
echo "<option selected value=".$row["cat_fils"].">".$row["cat_fils"]."</option>";
while($row2 = mysql_fetch_array($monresultat2))
{
echo "<option value=".$row2["cat_fils"].">".$row2["cat_fils"]."</option>";
}
?>
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008 4 nov. 2004 à 10:52
Salut
si jai bien compris ton code tu veut changer les choix d'une liste en fonction d'une autre liste
PHP est un language serveur c a dire qu'il fo renvoyer les donnée au serveur pour que les changement soit effectif (ce qui signifie rafraichir la page)
la solution pour faire ce que tu veut faire c de mettre du javascript qui lui est un langauge client (donc qui s'execute chez toi)
++
"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
function modifier(){
var item_soustype =new Array();
<?php
connction BDD
$requete="ici ta requete";
effctue ta requete et ferme la BDD
while ($col = mysql_fetch_object(result)){
?>
var colonne = new Array("<?php echo "$col->NondevarCombo1";?>","<?php echo "$col->Nom de varCombo2";?>");
GR[GR.length]=colonne;
<?php
}
?>
voila ca ta produit un tableau bidimensionnel y te reste plus qu'a travailler dessus en javascript pour en extraire les resultat que tu veut
Si tu veut voire ce que ce code produit il faut aller tu fait clique droit sur ta page iexplore afficher la source
cette methode n'est pas valable dans le cas d'une BDD énorme car il ya trop de donnée a transiter vers le client.
J'espere que ca va t'aider. si t'as besoin de précision demande j'essayerai de repondre. :approve)
++
"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
cs_Hector78
Messages postés62Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 5 mai 2010 4 nov. 2004 à 11:17
Hello !
Merci pour la réponse rapide. C'est effectivement ce que je veux faire, j'ai plutôt penché pour la première variante.
Mais je n'arrive pas à déclencher l'évènement "refresh" de la page en passant un paramètre (PHP)... Est-ce que quelqu'un pourrait m'expliquer comment faire ?