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

Messages postés
87
Date d'inscription
jeudi 26 août 2004
Dernière intervention
17 décembre 2008
- - Dernière réponse : cs_chamallow
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Dernière intervention
29 janvier 2007
- 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 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Dernière intervention
29 janvier 2007
3
Merci
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 :)

Merci cs_chamallow 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de cs_chamallow
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Dernière intervention
29 janvier 2007
0
Merci
J'ai répondu dans ton autre post, maintenant je suis pas sur que ce soit ca !
Commenter la réponse de cs_chamallow
Messages postés
87
Date d'inscription
jeudi 26 août 2004
Dernière intervention
17 décembre 2008
0
Merci
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
Messages postés
87
Date d'inscription
jeudi 26 août 2004
Dernière intervention
17 décembre 2008
0
Merci
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
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Dernière intervention
29 janvier 2007
0
Merci
Ca a pas marché ce que j'ai dis ?? lol zut alors!
Commenter la réponse de cs_chamallow
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Dernière intervention
29 janvier 2007
0
Merci
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
Messages postés
87
Date d'inscription
jeudi 26 août 2004
Dernière intervention
17 décembre 2008
0
Merci
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
Messages postés
87
Date d'inscription
jeudi 26 août 2004
Dernière intervention
17 décembre 2008
0
Merci
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
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Dernière intervention
29 janvier 2007
0
Merci
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.