cs_didine6
Messages postés81Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 7 août 2009
-
26 févr. 2007 à 10:36
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
27 févr. 2007 à 09:28
Bonjour @ tous !
Voici mon soucis :
j'ai une liste déroulante contenant les données du BD mysql.
Je
souhaite affiche dans un les champs associées à la valeur
sélectionnée dans la liste déroulante sans passer par un bouton valider.
Je souhaite éviter aussi de passer par du javascript pke je déteste ça (sauf si c'est vraiment la seule solution).
Voici un bout de mon code
<tr>
<td>Enveloppe</td>
<td><select name="env_b" onchange="">
<option value="">- Enveloppe -</option>
<?php
$sql="SELECT num_env_b,libelle,article_b,chapitre_b,fonction_b,
gestionnaire,gest FROM env_bene,membre
WHERE env_bene.gestionnaire=membre.gest
AND membre.login='".$_SESSION['nom']."'";
echo $sql;
$res=mysql_query($sql) or die (mysql_error());
while($row=mysql_fetch_array($res))
{
echo "<option value='".$row['num_env_b']."'>".$row['num_env_b']." / ".$row['libelle']."</option>";
}
?>
</select>
</td>
<td>"></td>
</tr>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 févr. 2007 à 11:48
>>Je souhaite éviter aussi de passer par du javascript pke je déteste ça
ah bon ? quelle idée ! c'est superbe le javascript...
pourquoi cet à priori ?
>>sans passer par un bouton valider.
ah... là t'es mal, car pour agir sans valider : javascript obligatoire....
par contre tu nous donnes le php, et nous on en faut quoi ?
déjà, on n'a pas ta base de données... il faut fournir la page
html générée !!!! ( enfin un extrait )
enfin, pour ici, ça devrait aller...
ajoute id="toto" à l'input text
et sur le select,
...onchange=" document.getElementById('toto').value=this[this.selectedIndex].text; " ...
encore un truc, si select n'a pas de size, la 1ère ligne est sélectionnée par défaut
et cliquer dessus ne provoquera pas de onchange
met size=2 au moins ou
ajoute onfocus="this.selectedIndex=-1;"
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 févr. 2007 à 12:05
ma dernière remarque est sans <option value="">- Enveloppe -</option>
que je n'avions point vu.
si tu le laisses, il faudra tester que this.selectedIndex est >0
mais moi : "j'aime pas"
j'utilise <optgroup label="- Enveloppe -">
.... les options générées
</optgroup>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 févr. 2007 à 14:08
>>J'vais ptét me mettre au javascript finalement !
ce serait dommage de ne pas le faire. la navigation web peut être améliorée,
et avec ActiveX pour IE, XUL/XPCom pour FF... on peut développer des
applications "normales" ( gestion de fichiers, base de données ... au moins
en local ), un langage de programmation quoi.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 févr. 2007 à 18:04
>>
T'as l'air calé.
j'arive à le faire croire, mais je ne comprend pas grand chose
>>Est ce que tu connais des bons tutoriels ? des livres ?
non. j'utilise la doc (.chm ) de SelfHTML , mais ce n'est pas
pour apprendre, c'est un truc de référence ( la version htm existe
les 2 sont téléchargeables et en français )
>>comment je fais pour récupérer cette valeur dans une variable afin de l'utiliser dans une requête
un name pour le champ désiré, dans le formulaire qui sera transmis.
cs_didine6
Messages postés81Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 7 août 2009 26 févr. 2007 à 21:35
Non, non tu n'as pas compris.
Je veux récupérer la valeur de ma liste déroulante dans un . ça ok, j'ai réussi.
Et je veux ensuite faire une requête avec cette variable dans le même formulaire...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 févr. 2007 à 09:28
Bonjour,
pour faire une requête, il faut le faire en PHP.
pour appeler le PHP, il faut le faire par un formulaire
( action="nom du.php" method="post ou get"... )
et tous les champs de ce formulaire qui ont un name sont
traitables par le php. ( on peut aussi faire ça à travers l'URL ).