Formulaire PHP Dynamique
Résolu
baudogu
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
baudogu Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
baudogu Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je rencontre un soucis pour construire un formulaire PHP dynamique.
Il s'agit de deux listes déroulantes qui se suivent.
La deuxième liste est construire par un select qui devrait dépende du choix fait dans la première liste.
J'ai épuisé toutes les combinaisons possibles d'après mes connaissances, et n'arrive pas à réaliser le select de la deuxième liste.
Merci d'avance à ceux qui pourront me mettre sur une piste. C'est un procédé que je pense ré-utiliser souvent et qui doit être un grand classique en PHP - Mysql
Voici l'extrait du code utilisé:
//recherche du fournisseur - liste 1
echo("<td align=\"center\">\n");
echo("<SELECT name=\"saisie[0][vendor]\" id=\"saisie.vendor\" size=\"1\">\n");
echo("<OPTION selected value=\"\"> </OPTION>\n");
//recherche de tous les fournisseurs
$requete = "select vendor_id,name from vendors order by name";
$result = mysql_query($requete);
if($result)
{
while($ref_cde = mysql_fetch_assoc($result))
{
//echo($ref_cde['vendor_id']."<br/>\n");
echo("<OPTION value=\"".$ref_cde['vendor_id']."\">".$ref_cde['name']."</OPTION>\n");
}
}
echo("</SELECT>\n");
echo("</td>\n");
//récupération du choix fait dans la première liste
$lignes = $_REQUEST['saisie'];
foreach($lignes as $identifiant => $ligne)
{
$vl_vendor_id = $ligne['vendor'];
}
echo("<td align=\"center\">\n");
//recherche des commandes fournisseur - liste 2
echo("<SELECT name=\"saisie[0][cde]\" id=\"saisie.cde\" size=\"1\">\n");
echo("<OPTION selected value=\"\"> </OPTION>\n");
//recherche de toutes les commandes de ce fournisseur pour ce destinataire
$requete = "select distinct order_id from order_item where vendor_id = $vl_vendor_id and consignee_id = '$_SESSION[consignee_id]' order by order_id";
$result = mysql_query($requete);
if($result)
{
while($ref_cde = mysql_fetch_assoc($result))
{
echo("<OPTION value=\"".$ref_cde['order_id']."\">".$ref_cde['order_id']."</OPTION>\n");
}
}
echo("</SELECT>\n");
echo("</td>\n");
Je rencontre un soucis pour construire un formulaire PHP dynamique.
Il s'agit de deux listes déroulantes qui se suivent.
La deuxième liste est construire par un select qui devrait dépende du choix fait dans la première liste.
J'ai épuisé toutes les combinaisons possibles d'après mes connaissances, et n'arrive pas à réaliser le select de la deuxième liste.
Merci d'avance à ceux qui pourront me mettre sur une piste. C'est un procédé que je pense ré-utiliser souvent et qui doit être un grand classique en PHP - Mysql
Voici l'extrait du code utilisé:
//recherche du fournisseur - liste 1
echo("<td align=\"center\">\n");
echo("<SELECT name=\"saisie[0][vendor]\" id=\"saisie.vendor\" size=\"1\">\n");
echo("<OPTION selected value=\"\"> </OPTION>\n");
//recherche de tous les fournisseurs
$requete = "select vendor_id,name from vendors order by name";
$result = mysql_query($requete);
if($result)
{
while($ref_cde = mysql_fetch_assoc($result))
{
//echo($ref_cde['vendor_id']."<br/>\n");
echo("<OPTION value=\"".$ref_cde['vendor_id']."\">".$ref_cde['name']."</OPTION>\n");
}
}
echo("</SELECT>\n");
echo("</td>\n");
//récupération du choix fait dans la première liste
$lignes = $_REQUEST['saisie'];
foreach($lignes as $identifiant => $ligne)
{
$vl_vendor_id = $ligne['vendor'];
}
echo("<td align=\"center\">\n");
//recherche des commandes fournisseur - liste 2
echo("<SELECT name=\"saisie[0][cde]\" id=\"saisie.cde\" size=\"1\">\n");
echo("<OPTION selected value=\"\"> </OPTION>\n");
//recherche de toutes les commandes de ce fournisseur pour ce destinataire
$requete = "select distinct order_id from order_item where vendor_id = $vl_vendor_id and consignee_id = '$_SESSION[consignee_id]' order by order_id";
$result = mysql_query($requete);
if($result)
{
while($ref_cde = mysql_fetch_assoc($result))
{
echo("<OPTION value=\"".$ref_cde['order_id']."\">".$ref_cde['order_id']."</OPTION>\n");
}
}
echo("</SELECT>\n");
echo("</td>\n");
A voir également:
- Formulaire PHP Dynamique
- Whatsapp formulaire opposition - Guide
- Tableau croisé dynamique - Guide
- Formulaire de réclamation facebook - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Formulaire de reclamation instagram - Guide
3 réponses
Merci d'avance pour ton aide.
Effectivement, mon script n'apprécie pas ce code :
//récupération du choix fait dans la première liste
$lignes = $_REQUEST['saisie'];
foreach($lignes as $identifiant => $ligne)
{
$vl_vendor_id = $ligne['vendor'];
}
Je tente depuis hier de trouver une solution avec le javascript du style
return(document.getElementById('saisie.vendor').value.trim());
à la place du code php.
Mon objectif est bien de construire le contenu de ma deuxième liste en fonction du choix de ma première liste, même si je fais
un select * tant que le choix dans la première liste n'est pas fait.
Effectivement, mon script n'apprécie pas ce code :
//récupération du choix fait dans la première liste
$lignes = $_REQUEST['saisie'];
foreach($lignes as $identifiant => $ligne)
{
$vl_vendor_id = $ligne['vendor'];
}
Je tente depuis hier de trouver une solution avec le javascript du style
return(document.getElementById('saisie.vendor').value.trim());
à la place du code php.
Mon objectif est bien de construire le contenu de ma deuxième liste en fonction du choix de ma première liste, même si je fais
un select * tant que le choix dans la première liste n'est pas fait.
Bonjour,
Je peux me tromper mais j'ai l'impression d'après le bout de code de ton message que tu as un problème de fond avec le php.
au niveau de ton commentaire "//récupération du choix fait dans la première liste ", tu as juste envoyé une liste de choix à ton visiteur, il n'a encore rien choisi du tout et ton script continue de s'exécuter et affiche ta deuxième liste, sauf qu'il te jette probablement une erreur sur la ligne $lignes = $_REQUEST['saisie'];
Peux-tu préciser ce qui se passe quand tu lances le script
Je peux me tromper mais j'ai l'impression d'après le bout de code de ton message que tu as un problème de fond avec le php.
au niveau de ton commentaire "//récupération du choix fait dans la première liste ", tu as juste envoyé une liste de choix à ton visiteur, il n'a encore rien choisi du tout et ton script continue de s'exécuter et affiche ta deuxième liste, sauf qu'il te jette probablement une erreur sur la ligne $lignes = $_REQUEST['saisie'];
Peux-tu préciser ce qui se passe quand tu lances le script