Metabolicman
Messages postés19Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention17 octobre 2008
-
16 janv. 2008 à 11:20
Metabolicman
Messages postés19Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention17 octobre 2008
-
17 janv. 2008 à 13:53
Bonjour,
Je suis en train de développer un intranet et au niveau de ma gestion des droits j'ai un petit problème.
J'affiche la liste de tous mes membres avec à côté de leur pseudo un select avec la liste des droits
(leur droit est selectionné par défaut).
Ce que je voudrais faire c'est lorsque l'on sélectionne un droit dans mon select, que la requête s'envoi
directement à la base de données au lieu de passer par un bouton submit.
<ol id="code2" class="olcode"><li>if(isset($_POST['droit']))</li><li>{</li><li>//affichage de la valeur du select
</li><li>echo $_POST['droit']."
";</li><li>//affichage du champ caché comprenant l'id de chaque utilisateur
</li><li>echo $_POST['id_joueur']."
";</li><li>}</li></ol>
J'ai toujours la même valeur et le même id pour n'importe quelle
personne et n'importe quelle valeur du select (sélection du dernier
affichage)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 janv. 2008 à 12:11
Bonjour,
ce qui est transmis au php, c'est les value des éléments qui ont un name.
donc, pour un select, le value de la ligne sélectionnée.
<hr /> Cordialement Bul «mon Site» «M'écrire»
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 janv. 2008 à 12:48
je ne sais pas, vu le peu de choses dont on dispose...
mais les options de ton select ont-elles des value ?
<option value="toto">titi</option>
si c'est cette ligne qui est selectionnée, $_POST['name du select'] doit être 'toto'. s'il n'y a pas de value c'est ''
<hr /> Cordialement Bul «mon Site» «M'écrire»
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 janv. 2008 à 12:51
remarque : ne pas mettre réponse acceptée tant que le problème n'est pas résolu,
c'est en fait ce que ça veut dire. et si tu coche "résolu", d'autres intervenants
risquent de ne plus lire, croyant l'affaire résolue... justement.
<hr /> Cordialement Bul «mon Site» «M'écrire»
Vous n’avez pas trouvé la réponse que vous recherchez ?
Metabolicman
Messages postés19Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention17 octobre 2008 16 janv. 2008 à 13:46
voila mon select:
$req="select id_joueur,pseudo,prenom,droit_eGL from joueur where droit_eGL='JOUEUR' order by pseudo";
$res=eGL_query($req);
if(mysql_num_rows($res)!=0)
{
while($val=mysql_fetch_assoc($res))
{
echo "<tr><td class='affichage2' width='30%'>
".$val['pseudo']."
</td><td class='affichage2' width='30%'>
".$val['prenom']."
</td><td class='affichage2'>
<select name='droit' onchange="document.getElementById('mod_droit').submit()"><option>JOUEUR</option><option>STAFF</option><option>ADMIN</option></select>
</td></tr>";
}
}
else
{
echo "<tr><td class='affichage2' colspan='3'>
Aucun Joueur
</td></tr>";
}
Les options n'ont pas de value, le submit du onchange fonctionne normalement mais lorsque je fais
<ol id="code2" class="olcode"><li>if(isset($_POST['droit']))</li><li>{</li><li>//affichage de la valeur du select </li><li>echo $_POST['droit']."
";</li><li>//affichage du champ caché comprenant l'id de chaque utilisateur </li><li>echo $_POST['id_joueur']."
";</li><li>}</li></ol>Je ne vois pas la ligne qui a été modifié mais la dernière ligne que lit le while
Metabolicman
Messages postés19Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention17 octobre 2008 16 janv. 2008 à 14:39
Bon j'ai rajouté une value à mes options mais tj rien.
J'ai un peu modifier le onchange en passant par une fonction javascript
et en faisant une alert de ce que je dois recup mais il est écrit undefined
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 janv. 2008 à 14:49
ben oui...
select name='droit' en plus sans id=
et obj=document.getElementById('mod_droit')
<s>
>>
</s>
j'ai rajouté une value à mes options mais tj rien.
après rectification, ça devrait aller un peu mieux.
parce que la, avec les erreurs, rien n'est transmis : ça plante.
Metabolicman
Messages postés19Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention17 octobre 2008 16 janv. 2008 à 15:01
oué mais nan mod_droit c'est l'id de mon formulaire, j'ai déja testé en mettant un id au select mais je n'arrive pas à faire le submit après et en plus je veux récupérer
un champ caché et la valeur du select
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 janv. 2008 à 15:26
tant qu'on aura pas ( un EXTRAIT, pas 568974 lignes !le nécessaire mais pas plus )
de la page html/javascript...
trop difficle de deviner, enfin.. pour moi
<hr /> Cordialement Bul «mon Site» «M'écrire»
Dans mon onchange je suis passé par une fonction javascript et au lieu de faire le submit, j'affiche mes données dans un alert, et lorsque j'exécute le script, il me met undefiened dans le alert.
Metabolicman
Messages postés19Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention17 octobre 2008 17 janv. 2008 à 11:58
Bon j'ai réussi à récupérer les valeurs des deux champs que je veux modifier en mettant un id aux deux champs mais je ne sais pas comment faire lorsque je fais
mon obj.submit() de lui dire de prendre les valeurs que je récupère.
fonction javascript:
<script>
function select_value(ind)
{
var value_select= document.getElementById(ind+<s>"select_value"</s>);
alert(<s>"DROIT:"</s>+value_select.value);
var value_input =document.getElementById(ind+<s>"id_play"</s>);
alert(<s>"ID:"</s>+value_input.value);
var obj=document.getElementById('mod_droit')
alert(obj.id)
/*obj.submit()*/
}
</script>
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 17 janv. 2008 à 12:02
Bonjour à tous,
affirmatif SELECT.value non implémenté...donc pas utilisable
Tu n'initialises pas le champ hidden avant ton submit donc tu récupéreras toujours la même chose
Je verrais assez bien la fonction comme suit
//---------------------------
function select_value( this_){
var szTmp = this_.options[ this_.selectedIndex].value;
var O_Form = document.getElementById( 'mod_droit');
var O_Dest = document.getElementById( 'id_joueur');
O_Dest.value = szTmp;
O_Form.submit();
}
l'appel se faisant comme ceci
onchange=select_value(this)
avec une REMARQUE, mets des IDs et/ou des NAMEs mais pas un coup l'un un coup l'autre sur tes objets, l'exemple ci dessus est fait sur base des ID
;O)