Actualise une variable lors de changement dans une liste deroulante [Résolu]

atomik29 87 Messages postés jeudi 26 août 2004Date d'inscription 17 décembre 2008 Dernière intervention - 11 mai 2006 à 11:17 - Dernière réponse : cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention
- 11 mai 2006 à 16:20
Bonjour a tous

Voila mon probleme :
J'ai un formulaire dans une popup avec une liste deroulante(pour selectionner une personne)

Pour remplir la liste je fais appel a une fonction :
affichelistetech2($codetechnicien,"codetechnicien",1);

A la base dans ma liste je suis sur la valeur "A definir".
En changeant cette valeur (cad selectionner une personne dans ma liste)
je voudrait que ca ouvre automatiquement une autre popup (validation.php) me confirmant que le technicien selectionne est : '$nom'

code de la fonction :
///////////////
function affichelistetech2($codetechnicien,$nom,$allowempty) {

$query="SELECT codetechnicien,nom FROM techniciens where nom!='CLIENT' ORDER by nom";
$req=mysql_query($query);
?>
<form name="validation" ACTION="validation.php" METHOD="POST">
<select name='$nom' onChange="window.open('popup.php?page=validation&codetechnicien=$codetechnicien&referrant=$PAGEURLENC','Confirmation','width=500,height=305')">";
<?
if($allowempty!=0)
echo "<option value=""></option>";

while($line = mysql_fetch_array($req)) {
$tmpcode=$line["codetechnicien"];
$tmpnom=$line["nom"];
echo "<option";

if($codetechnicien==$tmpcode) {
echo " selected";
}
printf(" value ="%d">%s</option>\n",$tmpcode,$tmpnom);

}
echo "</select>\n";
echo "</form>";
}
////////////////////////
avec l'attribut onchange ca marche nickel la popup s'ouvre mais je recupere toujours l'ancienne valeur de ma liste deroulante 'A definir'

code validation.php
/////////////////////
<?
$query = "SELECT nom FROM techniciens where codetechnicien=$codetechnicient";
$req = mysql_query($query);
$line = mysql_fetch_array($req);
$nom = $line ["nom"];
echo "Technicien associé : $nom
\n";
//////////////
?>

En faite la variable $codetechnicien ne s'actualise pas elle est toujours a la valeur initiale

Comment je peut faire pour recup le bon nom de personne en fonction de son code ????

Merci
Atomik29
Afficher la suite 

9 réponses

Répondre au sujet
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 11 mai 2006 à 15:55
+3
Utile
OK j'ai testé et ça marche donc j'espère ça marchera avec toi :)

Mets ça :
echo"<select name='$nom' onChange="window.open('popup.php?page=validation&codetechnicien='+this.options[this.selectedIndex].value+'&referrant=$PAGEURLENC','Confirmation','width=500,height=305')
">";

Normalement ça marche, après pour récup la valeur tu fais $_GET['codetechnicien']
tiens moi au courant :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 11 mai 2006 à 11:55
0
Utile
J'ai répondu dans ton autre post, maintenant je suis pas sur que ce soit ca !
Commenter la réponse de cs_chamallow
atomik29 87 Messages postés jeudi 26 août 2004Date d'inscription 17 décembre 2008 Dernière intervention - 11 mai 2006 à 15:11
0
Utile
Salut chamallow excuse javais pas mater....

bon j'ai modifie par ce que tu m'a dit mais ca ne marche pas
Cad que la popup ne s'ouvre plus du tout maintenant.

echo"<select name='$nom' onChange="window.open('popup.php?page=validation&codetechnicien='+this.options[this.selectedIndex].value;+'
&referrant=$PAGEURLENC','Confirmation','width=500,height=305') ">";

tu aurais une idee ???

Atomik29
Commenter la réponse de atomik29
atomik29 87 Messages postés jeudi 26 août 2004Date d'inscription 17 décembre 2008 Dernière intervention - 11 mai 2006 à 15:17
0
Utile
sinon je mettais dit que dans l'attribut onchange jaurai pu balancer une fonction pour actualise et
apres ouvrir la popup(pour recup le code technicien )

/////////////////
function verif()
{
document.forms.formu.submit();
}
//////////////
echo"<form name= form2 ACTION="validation.php" METHOD="POST">";
echo"<select name='$nom' onChange=" verif(), window.open ('popup.php?page =validation&codeincident=$codeincident&codetechnicien=$codetechnicien&referrant=$PAGEURLENC','Confirmation','width=500,height=305') ">";
////////////
dans ma page principale qui liste tout je vois bien le technicien qui s'actualise mais dans la popup
qui s'ouvre je recupere toujours mon ancienne valeur

Je suis vraiment bloque....
Atomik29
Commenter la réponse de atomik29
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 11 mai 2006 à 15:20
0
Utile
Ca a pas marché ce que j'ai dis ?? lol zut alors!
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 11 mai 2006 à 15:23
0
Utile
ah j'ai pas vu ta réponse : alors si la popup ne s'ouvre pas, faut vérifier les guillements doubles et simples et le passages de paramètres, ca vient souvent de ca!
Après je reconte ptet une super grosse connerie, alors je vais tester parce que moi ça marchait ce genre de truc :)
Commenter la réponse de cs_chamallow
atomik29 87 Messages postés jeudi 26 août 2004Date d'inscription 17 décembre 2008 Dernière intervention - 11 mai 2006 à 15:32
0
Utile
ma fonction en entier :
/////////////////////////////////
function affichelistetech2($codetechnicien,$nom,$allowempty) {

$query="SELECT codetechnicien, nom FROM techniciens where nom!='CLIENT' ORDER by nom";
$req=mysql_query($query);

echo"<form name=form2 ACTION="validation.php" METHOD="POST">";
echo"<select name='$nom' onChange="window.open('popup.php?page=validation&codetechnicien=$codetechnicien'+this.options[this.selectedIndex].value;+'&referrant=$PAGEURLENC','Confirmation','width=500,height=305') ">";

if($allowempty!=0)
echo "<option value=""></option>";

while($line = mysql_fetch_array($req)) {
$tmpcode=$line["codetechnicien"];
$tmpnom=$line["nom"];
echo "<option";

if($codetechnicien==$tmpcode) {
echo " selected";
}
printf(" value ="%d">%s</option>\n",$tmpcode,$tmpnom);
}
echo "</select>\n";
echo "</form>";
}

Atomik29
Commenter la réponse de atomik29
atomik29 87 Messages postés jeudi 26 août 2004Date d'inscription 17 décembre 2008 Dernière intervention - 11 mai 2006 à 16:10
0
Utile
ok ben un grand MERCI chamallow
de la balle ca fonctionne
j'ai fait une erreur de merde, j'avais &codetechnicien=$codetechnicien'+this.options
et ca foutai la merde
merci encore a plus
Atomik29
Commenter la réponse de atomik29
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 11 mai 2006 à 16:20
0
Utile
Oui j'avais vu mais il y avait aussi le ; après this.options[this.selectedIndex].value qu'il aimait pas beaucoup !!
Mais bon tant que ça marche, c'est cool :) Et de rien, j'suis contente d'avoir pu t'aider !
Commenter la réponse de cs_chamallow

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.