OVH Cloud OVH Cloud

pb de fonction

1 réponse
Avatar
leblaireau
Bonjour

Voilà j'ai un formulaire avec des champs et une liste déroulante (nom de
personnes)
Quand on choisit un élément de cette liste apparait dans un champ texte un
renseignement sur ces personnes (n° tel , activité et autres)
Tout ceci est gérer par du php, mysql et javascript
Quand je clique sur une personne j'arrive à faire apparaître dans mon champ
texte un renseignement unique (par exemple sexe de la personne) par contre
je n'arrive pas à afficher quand il y a plusieurs choix ( par exemples des
acitivités) : c'est à dire que je voudrais tous monterdans des listes
déroulantes (à un ou plusieurs choix) et ainsicelà me permettrai d'eploiter
les résultatdans une autre table

J'espère avoir été assez clair et en vous remerciant pour vos pistes

a+

Voici mes scripts
// déclaration en début de page
<SCRIPT LANGUAGE="JavaScript1.1">

function selnom() {

var id = document.form1.idpersonne.selectedIndex;
var id_option = document.form1.idpersonne.options[id].value;
if (id_option>1){
document.form1.idsexe.value=tb_idsexe[id_option];
document.form1.sexe.value=tb_sexe[id_option];
}
}

</SCRIPT>

// fonction crée pour genérer la liste déroulante des personnes
<tr>
<td>Personne :</td>
<td colspan="4">
<? personne_listeLD(1,$idpersonne); ?>
</td>
</tr>

// code qui permet d'afficher le sexe de la personne
<tr>
<td>Sexe :</td>
<input name="idsexe" type="hidden"size="1" maxlength="1" >
<td width="66%"><input name="libelle" type="text"size="40"
maxlength="40" ></td>
</tr>
<tr>

// code qui me permet de monter mes tableaux pour remplir mon champ sexe en
fonction de l'idpersonne
<SCRIPT LANGUAGE="JavaScript1.1">

<?

$requete = "SELECT count(idpersonne) AS idpersonne FROM personnes";

$resultat = ExecRequete($requete,$connexion);

while ($tab = mysql_fetch_array($resultat)) {
$idpersonne = $tab['idpersonne'];
}

?>

var tb_idsexe=new Array(<? echo $idpersonne; ?>);
var tb_sexe =new Array(<? echo $idpersonne; ?>);

<?

$requete = "SELECT s.idsexe "
.",s.sexe"
.",p.idpersonne "
."FROM personnes as p left join sexes as s "
."on p.idsexe=s.idsexe "
."ORDER BY sexe";

$resultat = ExecRequete($requete,$connexion);

while ($tab = mysql_fetch_array($resultat)) {
$idpersonne= $tab['idpersonne'];
$idsexe =$tab['idsexe'];
$sexe =$tab['sexe'];

?>
tb_idsexe[<? echo $idpersonne; ?>]="<? echo $idsexe; ?>";
tb_sexe[<? echo $idpersonne; ?>]="<? echo $sexe; ?>";

<?
}
?>

</SCRIPT>

1 réponse

Avatar
ASM

Voici mes scripts
// déclaration en début de page
<SCRIPT LANGUAGE="JavaScript1.1">


Bon, tu files une page *html* avec du JS stp ?

Paske là le galimatias PHP ce n'est pas le lieu
on ne sait même pas ce qu'il écrit exactement ...


C'est surper interressant de lire du code php de requete à BdD mais ça
ne nous avance à rien.

De tte façon, à mon idée, il faut faire une boucle
sur les options du multiselect et récupérer toutes les options qui
verifient (options[i].selected==true)

le selectedIndex ne te renverra jamais que le 1er option sélectionné et
pas les suivants.

--
Stephane Moriaux et son [moins] vieux Mac