|
camy 40
| Posté : 03-07-2003 14:07
salut,
voila mon problème :
je dispose d'un premier menu déroulant qui permet à l'utilisateur de choisir une catégorie.
Lorsque l'utilisateur choisit sa catégorie,le deuxieme menu déroulant propose les différentes activités de la catégorie choisie.
Les catégories et les activités sont dans une base de données mySQL.
Et je me sert de php(et pas !javascript!).
Je sais créer un menu déroulant et faire le lien avec une autre page php.
Merci
Camy |  Profil
|
|
VV 41
| Posté : 03-07-2003 15:10
si tu veux pas de !!javascript!!, il faudra que ton deuxieme menu déroulant se trouve dans une autre page, ou que ton formulaire ré-appelle la même page.
-Une fois que tu as récuperé la categorie, tu fais la requete pour avoir les activités de cette catégorie :
$acti=mysql_query(" select * from acticités where (activité appartient à la catégorie) ");
-tu comptes le nombre de résultats :
$n=mysql_num_rows($acti);
-tu commence ton meu déroulant :
echo "<select name="activite" size="4">";
-puis tu construis ton menu déroulant avec une boucle :
$i=0;
while($i!=$n)
{
//tu recupere la ligne suivante
$a=mysql_fetch_array($acti);
//tu créé la ligne de ton menu déroulant
echo "<option>";
print "$a["champ contenant le nom de l'activité"]";
echo "</option>";
$i=$i+1;
}
-enfin tu finis ton menu déroulant :
echo "</select>"; |  Profil
|
|
bellecuisse 186
| Posté : 05-07-2003 18:13
une charmante personne m'a aider a faire le liens entre plusieurs menu deroulant alors je vous le communique
je ne sais pas si ca va vous servir mais bon!!!!!
le but est d'avoir deux menus deroulanst la premiere selectionne des champs dans un base de donnne
et l'autre permet de faire une selection plus precise sur la meme base
le but ici est de faire une suppression mais elle n'est pas encore faite !!!
si ca peut aider des gens ca me fera tres plaisir
function SupLinks($stage)
{
!!include!!("header.php");
OpenTable();
$mainlink = 1;
mainheader();
echo "</center><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
$result1=mysql_query("select type_stage from gestion_stage");
echo "<form name=\"formulairecache\" method=\"POST\" action=\"$PHP_SELF\">";
echo "Type de stage"."<select CLASS=\"TEXTBOX_STANDARD\" name=\"stage\" onChange=\"document.forms['formulairecache'].submit()\">";
while(list($type_stage)=mysql_fetch_array($result1))
{
echo "<option ";
if ($stage==$type_stage) echo "selected";
echo ">$type_stage</option>";
}
echo"";
if($stage!="")
{
echo "</center><TABLE WIDTH=100% CELLSPACING=1 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
$result2=mysql_query("select nom_stage from gestion_stage where type_stage='$stage'");
echo "Nom du stage"."<select CLASS=\"TEXTBOX_STANDARD\" name=\"nom_stage\" >";
while(list($nom_stage)=mysql_fetch_array($result2))
{
echo "<option>$nom_stage</option>";
}
}
echo "</form>";
}
[ Message édité par : bellecuisse : 05-07-2003 18:13 ] |  Profil
|
|
bellecuisse 186
| Posté : 08-07-2003 09:25
hummm!!!!
encore les menus deroulants
mon truc marche nickel
mais comment faire pour transmettre a une fonction les valeurs selectionner ?
toutes mes tentatives ont echoues ,ma fonction ne reconnait pas les parametres
vous avez tous les details au dessus
si vous avez une idee !!!
|  Profil
|
|
bellecuisse 186
| Posté : 08-07-2003 14:54
voila ma fonciton
2 pbs se posent:
si le premier menu deroulant ne comporte q"un seul champ ,la selection semble impossible, c'est la meme chose si il y un seul choix sur le deuxieme menu le reste de s'affiche pas!!!!
comment faire pour que la selection soit operationnel ?(meme dans c'est deux ca)
et a la fin du code ,je fais appelle a une fonciton "Suppression" comment lui faire parvenir les parametres que je viens de selectionner avec les menus deroulants
je suis dessus depuis un moment si vous avez une solution.................( enfin c'est un appel a l'aide)
je vous remerice par avance
function SupLinks($ville,$etablissement)
{
!!!include!!!("header.php");
OpenTable();
$mainlink = 1;
mainheader();
echo "</center><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
$result1=mysql_query("select DISTINCT UPPER(nom_ville) from ville_ref");
echo "<form name=\"formulairecache\" method=\"POST\" action=\"$PHP_SELF\">";
echo "ville"."<select CLASS=\"TEXTBOX_STANDARD\" name=\"ville\" onChange=\"document.forms['formulairecache'].submit()\">";
//echo "<OPTION VALUE=\"\">"."Slectionner une ville"."</option>\n";
while(list($nom_ville)=mysql_fetch_array($result1))
{
echo "<option ";
if ($ville==$nom_ville) echo "selected";
echo ">$nom_ville</option>";
}
echo"";
if($ville!="")
{
echo "</center><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
$result2=mysql_query("select DISTINCT UPPER(nom_etablissement) from ville_ref where nom_ville='$ville'");
echo "<form name=\"formulairecache\" method=\"POST\" action=\"$PHP_SELF\">";
echo "etablissement"."<select CLASS=\"TEXTBOX_STANDARD\" name=\"etablissement\" onChange=\"document.forms['formulairecache'].submit()\">";
//echo "<OPTION VALUE=\"\">"."Selectionner une etablissement"."</option>\n";
while(list($nom_etablissement)=mysql_fetch_array($result2))
{
echo "<option ";
if ($etablissement==$nom_etablissement) echo "selected";
echo ">$nom_etablissement</option>";
}
echo"";
if($etablissement!="")
{
echo "</center><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
echo"<i><b>Vous avez choisit l'etablissemnt $etablissement de la ville de $ville</b></i>
";
echo "<a href=saisie_etabliessement.php?op=Suppression CLASS=\"BOX\">"."Suppression de l'element"."</a>
";
}
echo"";
}
echo "</form>";
echo "</form>";
}
<font size=1>[ Message édité par : bellecuisse : 08-07-2003 14:57 ]</font>
[ Message édité par : bellecuisse : 08-07-2003 14:57 ] |  Profil
|
|
bellecuisse 186
| Posté : 08-07-2003 20:06
je susi tout seul ou koi
bon pour le premiere solution j'ai trouver ,il faut mettre le premier champs a blanc
mais pour l'autre j'attends tjrs vos reponces !!!!! |  Profil
|
|
camy 40
| Posté : 09-07-2003 15:17
Je n'arrive à mettre en relation mon premier menu déroulant avec le second !!!!
Car je n'arrive pas à mémoriser la valeur choisie du premier menu.
Voici mon code si qq'1 peut m'aider :
<?php
echo"<form method='POST' action='theme2.php3'>";
echo"<B>Domaine d'activité :</B>
";
$db=mysql_connect("localhost", "root", "");
mysql_select_db('assos1',$db) ;
$sql='SELECT nom FROM categories' ;
$result = mysql_query($sql);
$nb=mysql_num_rows($result) ;
echo"<SELECT TYPE='text' NAME='domaine' SIZE='1'>" ;
for($i=1; $i <= $nb; $i++) {
$tabdom=mysql_fetch_array($result) ;
echo"<option value='$tabdom[nom]'>$tabdom[nom]
</option>" ;
}
echo"</SELECT>" ;
echo"</FORM>" ;
$dom = $_POST['domaine'];(ceci devrait me mémorise le domaine choisi!!)
echo"<form method='POST' action='act.php3'>";
echo"<B>Activité :</B>
";
$sql2='SELECT distinct A.nom FROM activités A ,categories C
WHERE C.nom="$dom" and A.code=C.code' ;
$result2 = mysql_query($sql2);
$nb2=mysql_num_rows($result2) ;
echo"$nb2<br>" ;
echo"<SELECT TYPE='text' NAME='activite' SIZE='1'>" ;
for($i=1; $i <= $nb; $i++) {
$tabact=mysql_fetch_array($result2) ;
echo"<option value='$tabact[nom]'>$tabact[nom]
</option>" ;
}
echo"</SELECT>" ;
echo"<center><INPUT TYPE='submit' NAME='Rechercher' VALUE='Rechercher'>
</center>";
echo"</FORM& gt;" ;
?>
[ Message édité par : Tribal-Dolphin : 10-07-2003 17:07 ] |  Profil
|
|
bellecuisse 186
| Posté : 10-07-2003 08:41
tu peux le refaire en desactivant le htlm stp ca serait super cool merci
|  Profil
|
|
bellecuisse 186
| Posté : 10-07-2003 08:45
ecoute je ne suis pas un pros mais je peux dire que j'ai posé du code qui marche
toutes les valeurs sont memorisées
base toi dessus ,il faut faire un rafraichissement de ta page pour chaque selection sinon elle ne sont pas prise en compte |  Profil
|
|
camy 40
| Posté : 15-07-2003 14:06
Je n'ai pas !javascript!.
du coup, certaines fonctions de ton programme ne marche pas. |  Profil
|
|
bellecuisse 186
| Posté : 15-07-2003 17:13
j'ai la meme erreur mais je tente de faire ca!!!
il faut que tu appelles la variable du premier <form> dans le deuxieme regarde la derniere ligne de ce code
echo "</center><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
$result1=mysql_query("select DISTINCT UPPER(nom_stage) from gestion_stage");
echo "<form name=\"formulairecache\" method=\"POST\" action=$PHP_SELF>";
echo "Nom de stage"."<select CLASS=\"TEXTBOX_STANDARD\" name=\"stage\" onChange=\"document.forms['formulairecache'].submit()\">";
echo "<OPTION VALUE=\"\">"."Selectionner un nom de stage"."</option>\n";
while(list($nom_stage)=mysql_fetch_array($result1))
{
echo "<option ";
if ($stage==$nom_stage) echo "selected";
echo ">$nom_stage</option>";
}
echo "</form>";
}
echo "</center><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=1 BORDER=0><TR><TD COLSPAN=2>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=8 BORDER=0><TR><TD>";
if (isset($user) || $links_anonaddlinklock != 1) {
echo "<LI>"."vous allez entrer les informations des stages"."
<LI>"."ces informations vont faciliter l'inscription des utilisateurs"."
<form method=post action=stages.php?op=Add name=adminForm>
"."<input type=hidden name=nom_stage value=$nom_stage>......
normalement $nom_stage est present ici et sera present pour mon POST
je pense que si je te dis une connerie une bonne ames sera la pour nous!!
<font size=1>[ Message édité par : bellecuisse : 15-07-2003 17:13 ]</font>
[ Message édité par : bellecuisse : 15-07-2003 17:14 ] |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 15-07-2003 18:26
http://www.tout!!javascript!!.com ( sans les ! )
Il on un script tout fait de menu déroulant à 2 et 3 niveaux.
[ Message édité par : Tribal-Dolphin : 15-07-2003 18:27 ] |  Profil
|
|
axel 10065
| Posté : 16-07-2003 00:13
une fois de plus, et comme j'aime a le dire :
"rien ne sert de réinventer la roue, ca ne tournera pas mieux !"
dieu que je l'aime, cette phrase !! |  Profil E-mail www
|
|
camy 40
| Posté : 16-07-2003 09:24
Pour l'instant, je n'ai pas installé !javascript!.
Est -ce qu'il n'y a pas une façon de le faire juste avec php et mysql? |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 16-07-2003 09:36
nan, il te faudras obligatoirement du !javascript!.
Mais sache que le !javascript! n'est pas à intallé, il est d'office avec Internet Explorer. |  Profil
|
|
Aller à la page : [ 1 | 2 | 3 ] |