¡¡¡ A l'aide ¡¡¡

cs_Xime Messages postés 75 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 24 mars 2003 - 24 mars 2003 à 17:40
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008 - 24 mars 2003 à 18:31
salut,

je vous explique mon prob g un formulaire assez simple qui contient deux zonnes de listes (la deuxieme est liée a la premiere) donc o debut g fai le formulaire mais on rencontré trop de prob notament le klik sur ok apres avoir fai sa selection dans la liste.

a partir de la g décidé de paser plutot par des listes en javascipt pour une meilleure efficacité ;o

et voila tout se complique donc j'affiche bien mes deux listes la premiere contient les mois de l'année et l'autre est vide a ce moment apres selection d'un mois je voudrai alimenter automatiquement ma liste par l'intermediaire d'une requete php. mais je n'arrive pa a incorporer ma variable mois qui vien de la liste en javascript à la requete :\

je vous met un bout de code

<?

print("<script language="javascript">");
print("function init(formulaire)");
print("{");
print("formulaire = "document." + formulaire;");
print("document.write('<select name="listmois" OnChange="afficheJours(this,$annee)"><option value="">- aucun choix -</option></select>');");
print("document.write('<select name="listjour"><option value="Liste des jours">- aucun choix -</option></select>');");
print("tabMois = new Array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");");
print("for(var i in tabMois)eval(formulaire).listmois.options[eval(formulaire).listmois.options.length] = new Option(tabMois[i],i);");
print("}");

print("function afficheJours(listmois,mois)");
print("{");

print("tabJour = new Array();");

//variable intermediaire car sinon on perd la
//valeur de listmois et sa commence a 0 donc il faut incrementer
print("var month=listmois.value;");
print("month++;");

include ("../php/connexion.php");

$sql=OCIparse($connexion,"SELECT distinct(TO_CHAR(datelafs,'dd')) FROM lafs WHERE DECODE(TO_CHAR(datelafs,'MM'),'01','1','02','2','03','3','04','4','05','5','06','6','07','7','08','8','09','9',TO_CHAR(datelafs,'MM'))="+mois);
$req=OCIexecute($sql);

$a=1;

while(OCIfetchinto($sql, $value))
{
print("tabJour[$a]=$value[0];");
$a++;
}

print("for(var a in tabJour)eval(formulaire).listjour.options[eval(formulaire).listjour.options.length] = new Option(tabJour[a],a);");

OCIFreeStatement($sql);
OCIlogoff($connexion);

print("}");

print("</script>");
?>

donc ma requete fonctionne car si je met un 3 (qui correspond a mars) a la place de '+ month' ma deuxieme zone de liste est correctement alimenter.
donc en gros mon prob vien de la variable month

tout sa pour sa vou me direz mais bon je galereeeee :'(
alors si kkun peut meme m'aider ou me conseiller plzzzz ;)

Xime

1 réponse

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
24 mars 2003 à 18:31
salut

si g bien compris quand tu selectionnes dans ta liste le mois tu veux que la liste d'à coté se remplisse ?

si c ça je crois avoir trouvé

Quand tu charges la page, elle est lu entierement. Une fois la page fini de lire, tu selectionnes le mois de juillet par exemple et la rien ne se passe et c normal car tu essaye de faire coté client une requete sur le serveur (en clair t en mode statique et t'essaye de faire du dynamique) donc si tu veux faire une requete pour remplir la liste a partir d'une requete, tu dois absolument recharger la page pour que la requete soit exécuté.

shéma d'exemple :

- la page est chargée
- Tu cliques sur la 1ere liste "juilet"
- la page se recharge et remplis la 2eme liste avec la variable envoyé par ta requete
et c bon

Bon j'espere que j'ai bien compris ton pb sinan bah j'ai l'air con lol

++ bon courage

L'evenement onchange appele une fonction javascript qui s'execute coté client.

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
0
Rejoignez-nous