Afficher résultat d'une liste déroulante dans un tableau sans avoir a recharger
Evony
Messages postés32Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention17 juin 2009
-
3 juin 2009 à 15:50
Evony
Messages postés32Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention17 juin 2009
-
3 juin 2009 à 16:53
Bonjour,
Je dois créer une application php dans laquelle une liste déroulante contenant les employés apparait. Jusque la pas de problème, seulement, il faut que lors du choix d'un employé, le tableau n'affiche que les infos de cet employé, le tout sans recharger la page, donc dès le clique sur l'employé le tableau se modifie. Je me doute que un code a deja été donnée, mais après moulte recherche je me decide de vous demander.
Merci.
A voir également:
Afficher résultat d'une liste déroulante dans un tableau sans avoir a recharger
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 3 juin 2009 à 16:04
Bonjour,
bah... dans le value du select, met les infos liées à cet employé
séparés avec "\t" par exemple
lors de la sélection d'une option, un ch'tiot split sur le value
et tu récupères un array avec les infos mémosrisées.
Cordialement
Evony
Messages postés32Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention17 juin 2009 3 juin 2009 à 16:21
Oui par exemple j'arrive a faire ma manip' en passant par onchange= "submit();" dans le select puis redirection sur la meme page, mais a ce moment la, la page se recharge ce que je ne veut pas.
voila deja mon code :
<html>
<head><title>Compte-rendu</title></head>
<form action="index.php" method="get">
<select name = "lstcat1" onchange="submit();">
<?php
$rs = mssql_query("select * from employe order by nom");
$ligne = mssql_fetch_array($rs);
echo"<option value=0> </option>";
while ($ligne == true)
{
echo"<option value=$ligne[NumEmp]>$ligne[Prenom]</option>";
$ligne = mssql_fetch_array($rs);
}
?>
</select>
<?php
$emp = $_GET["lstcat1"];
if (isset($emp))
{
$rs = mssql_query("select * from employe where NumEmp='$emp'");
$ligne = mssql_fetch_array($rs);
echo "Compte rendu d'activité pour $ligne[Nom] $ligne[Prenom] :
";
$rs2 = mssql_query(\"select *, convert(varchar(12), DateCra, 113) as madate from Cra, Employe, Activite where cra.NumEmp=employe.NumEmp and cra.NumActivite=activite.NumActivite and cra.NumEmp='$ligne[NumEmp]'\");
$ligne2 = mssql_fetch_array($rs2);
while ($ligne2 == true)
{
?>
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 3 juin 2009 à 16:33
>>j'arrive a faire ma manip' en passant par onchange="submit();"
????
pourquoi un submit
d'ailleurs ? t'es sur que ça baigne ça ?
tu as une fonction submit ? alors ça craint, change de nom !!!
sinon la syntaxe c'est formulaire.submit() !
et si tu fais un submit, ben, ça envoie le formulaire vers le php,
qui retournera une réponse qui sera affiché !
appelle ta fonction javascript qui fait le split et l'affichage
...onchange="exploser(this);"....
function exploser(f)
{ var d=f.options (f.selectedIndex].value.split("\t");
traitement de d[0] = 1er champ, d[1]=2ème champs....
en plus tu sembles ne mettre qu'un seul champ ? NumEmp ?
dans ce cas, le split est même inutile, utilise directement le .value
echo"<option value='$ligne[NumEmp]'>$ligne[Prenom]</option>"; aussi probablement.
Evony
Messages postés32Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention17 juin 2009 3 juin 2009 à 16:42
Oui, je suis sur que sa marche, mais le hic, c'est que je n'ai aucune notion de javascript, donc pour le moment, a chaque fois que je selectionne une personne, ma page se re-ouvre avec le bon tableau de la bonne personne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 3 juin 2009 à 16:49
>>en plus tu sembles ne mettre qu'un seul champ ? NumEmp ?
>>dans ce cas, le split est même inutile, utilise directement le .value
en fait je pense que tu dois y mettre les champs dont tu auras besoin
comme indiqué :*
echo '<option value="
'.$ligne[NumEmp]'."\t".
'.$ligne[champ 1 lié à l'employé]'."\t"
'.$ligne[champ 2 lié à l'employé]'.."\t" ....
">'.$ligne[Prenom].'</option>';
au ' et " près !!! et c'est un exemple, à toi d'adapter à ce que tu voudrais.