Actualisation formulaire/slection liste

Résolu/Fermé
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007 - 24 mai 2007 à 11:39
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007 - 25 mai 2007 à 15:49
Bonjour, et merci de prendre de temps pour lire mon post :)

Voilà j'ai réalisé une liste déroulante en php qui contient les résultats d'une requête (tout les noms de fournisseur, de la table fournisseur). La sélection d'un de ces noms doit mettre a jour des zones texte du formulaire qui contient adrrfournisseur, tel, etc... du fournisseur sélectionné dans la liste. Mais ca marche pas ^^

J'ai fouillé un peut sur le net sans trouver de solution si ce n'est en incorporant du javascript. Mais je m'y connais peut, y aurait il une solution php ? et si non comment procéder avec le javascript ?

Je mettrait mon code si nécessaire, merci d'avance :)

11 réponses

CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
24 mai 2007 à 14:40
Coucou
difficile de te epondre tout ceci est un peu embrouillé.
Une liste deroulante c'est avec du html.
php marche coté serveur et javascript coté client.
Fais plutot voir ton script ;)
0
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
24 mai 2007 à 14:59
<FORM>
<!-- fournis la liste des fournisseurs-->
Liste des fornisseurs :
<SELECT NAME="listefour">
<?php
include('connexion2.inc.php');

$sql="SELECT * FROM fournisseur ORDER BY desifour";

$res = mysql_query($sql);

while($val=mysql_fetch_array($res))
{
echo "<option value=".$val["codefour"].">".$val["desifour"];
$x=$val["codefour"];
}
?>

</SELECT>
</br></br></br>
Adresse du fournisseur :
<input type='texte' name='addfour' value="">
etc...

On selection un fournisseur avec la liste déroulante, et les info le concernant (qui sont dans la bd) se mettent dans les zones de textes corespondantent(ici l'adresse du fournisseur dans le input). Et c'est sur ce derneir point que je plante ^^
0
Slt !!
tu peut gérer ca via le javascript :
tu fais une fonction qui change la valeur de tes champs
ma fonction()
{
...
}

tu l'appel dans ta balise select :
<select name="..." onchange="mafonction()">

si tu as besoin de précision....
0
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
24 mai 2007 à 16:53
ou bien tu envoies le formulaire vers la page elle meme avec la requete dans une variable _POST et tu mets un petit truc dans l'url pour executer la requete au debut de la page

<?php 
/*pass
include('bdd_acces.php');
/*execution de la requete */
if(@$_GET['requete'] == "faite")
{
  mysql_connect($host,$user,$password);
 etc..
}
<form action="<?php echo $_SERVER['PHP_SELF'] ?>?requete=faite" method="post">
<!-- fournis la liste des fournisseurs-->

En javascript c'est peut-etre plus facile mais cela necessite qu'il soit activé côté client.
A toi de voir ;)
0
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
25 mai 2007 à 09:08
Merci de vos réponses je vais éssayer ca. comment je fait pour savoir quel fournisseur a été sélectionner dans la liste ? et comment je récupère son nom pour pouvoir faire les requêtes d'après ?

Merci :)
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
25 mai 2007 à 09:28
Bonjour,

d'après ce que j'ai compris de ton code, lorsque tu envoie le formulaire, tu récupère la variable $_POST['listefour'] qui contient le code fournisseur sélectionné. tu peux faire quelque chose dans ce style:

if (isset($_POST['listefour'])) {
  $req="select addfour from fournisseur where codefour='".$_POST['listefour']."'";
  $res=mysql_query($req);
  while ($data=mysql_fetch_array($res)) {
    echo '<input type="text" name="addfour" value="$data['addfour']">';
  }
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
25 mai 2007 à 11:37
Voici mon code a présent :

// Fournisseur.php

<html>
<head></head>
<body>
<FORM>

<?include('fonction.txt');?>

<!-- fournis la liste des fournisseurs-->
Liste des fornisseurs :
<SELECT NAME="listefour" onchange="<? $retour=changfour($x) ?>">
<?php
include('connexion2.inc.php');


$sql="SELECT * FROM fournisseur ORDER BY desifour";

$res = mysql_query($sql);
echo"<option value='0'>Choisissez un Fournisseur";

while($val=mysql_fetch_array($res))
{
echo "<option value=".$val["codefour"]." name='choix'>".$val["desifour"];
$x=$val["codefour"];
}

?>

</SELECT>
</br></br></br>
Adresse du fournisseur :
<input type='texte' name='addr' value="<?=$retour[0]?>">
</br></br></br>

Téléphone du fournisseur :
<input type="texte" name="tel" value="<?=$retour[1]?>">
</br></br></br>

Site internet du fournisseur :
<a href="<?=$retour[2]?>"></a>

</FORM>

</body>
</html>

// fonction.txt

<?

function changfour($x)
{


$sql="SELECT addrfour FROM fournisseur where codefour=".$x;
$res = mysql_query($sql);

$addr=mysql_fetch_assoc($res);

$sql="SELECT telfour FROM fournisseur where codefour=".$x;
$res = mysql_query($sql);

$tel=mysql_fetch_assoc($res);

$sql="SELECT siteweb FROM fournisseur where codefour=".$x;
$res = mysql_query($sql);

$site=mysql_fetch_assoc($res);

return array($addr,$tel,$site );
}

?>


Mais ca ne m'affiche rien :/
0
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
25 mai 2007 à 13:33
remplace <input type='texte' name='addr' value="<?=$retour[0]?>">
par <input type='texte' name='addr' value="<? echo '='.$retour[0]?>">
0
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
25 mai 2007 à 13:52
Ca me met juste un '=' dans la zone de texte. Et la zone est pas actualisé quand je change de fournisseur.
0
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
25 mai 2007 à 14:32
Ha oki.
Je t'ai mis ça sans l'essayer, c'est que je code pas exactement comme ça.
Alors essaies avec
 value="<?php echo $ta_variable; ?>"
0
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707 > CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013
25 mai 2007 à 14:35
heu oups j'avais pas vu qu'il y avait 2 =
0
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
25 mai 2007 à 14:34
Ca met met une balise <br/> a la place du '=' j'ai déja eu ce résultat avec d'autres éssais, ca affiche quelque chose c'est déja bien ^^
0
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
25 mai 2007 à 15:31
J'ai éssayé et ca ne marche pas :/
0
CH4NCE Messages postés 620 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 8 août 2013 707
25 mai 2007 à 15:46
Tu as des erreurs dans ton code, encore une :
echo "<option value=".$val["codefour"]." name='choix'>".$val["desifour"];
remplaces par
echo '<option value="'.$val["codefour"].'" name="choix">'.$val["desifour"];

Faudrait que tu cherche par toi même, je veux bien t'aider, et d'autres aussi, mais pas te faire ton code. Sinon prépares le chéquier ;)
0
Ziwy Messages postés 16 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 11 juin 2007
25 mai 2007 à 15:49
Merci pour l'aide je vais éssayer de finir ca :)
0