Actualisation formulaire/slection liste

Résolu
Ziwy Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
Ziwy Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
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 :)
A voir également:

11 réponses

CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
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   Statut Membre Dernière intervention  
 
<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
Maxwell
 
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   Statut Membre Dernière intervention   728
 
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   Statut Membre Dernière intervention  
 
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 8411 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   728
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   728
 
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   Statut Membre Dernière intervention   728 > CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention  
 
heu oups j'avais pas vu qu'il y avait 2 =
0
Ziwy Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
J'ai éssayé et ca ne marche pas :/
0
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
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   Statut Membre Dernière intervention  
 
Merci pour l'aide je vais éssayer de finir ca :)
0