Recuperer valeur <select>
speed837
Messages postés
20
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je n'arrive pas a trouver mon erreur et c'est pourquoi je demande votre aide !
Pour vous expliquer rapidement mon code, j'ai mit comme action 'rechercheproduit' qui est la page où se trouve le code. Avec ce code je voulais qu'en validant mon petit formulaire contenant une simple liste dynamique, la valeur sélectionnée soit retournée (sur la même page du coup) et ainsi par la suite pouvoir faire des requêtes SQL en rapport avec cette valeur pour obtenir des informations sur le client sélectionné.
(L'avant dernière et l'avant avant dernière ligne sont le résultat de mon dernier test qui malheureusement ne fonctionne pas :/ ---> mon problème)
J'en profite aussi pour vous demander votre aide sur un autre problème concernant ce même bout de code. En effet dans ma liste qui s'affiche il me manque un client, qui s'avère être le client en tête de ma table, je ne vois pas d'où cela peut venir.
Merci d'avance :)
Je n'arrive pas a trouver mon erreur et c'est pourquoi je demande votre aide !
$ReponseListe=mysql_query("SELECT * FROM 'jc8tk_cck_store_form_formclient' WHERE 1");
$Liste=mysql_fetch_array($ReponseListe);
echo'<form method="POST" action="rechercheproduit">';
?>
<select name="listeclient">
<?php
while ($Liste=mysql_fetch_array($ReponseListe))
{
?>
<option value="<?php $Liste['nomclient']?>"><?php echo $Liste['nomclient']; ?></option>
<?php }
?>
</select>
<input type="submit" value="Rechercher">
<?php
$clientliste = $_POST['nomclient'];
echo "le client selectionne est : $clientliste";
echo '</form></br>';
Pour vous expliquer rapidement mon code, j'ai mit comme action 'rechercheproduit' qui est la page où se trouve le code. Avec ce code je voulais qu'en validant mon petit formulaire contenant une simple liste dynamique, la valeur sélectionnée soit retournée (sur la même page du coup) et ainsi par la suite pouvoir faire des requêtes SQL en rapport avec cette valeur pour obtenir des informations sur le client sélectionné.
(L'avant dernière et l'avant avant dernière ligne sont le résultat de mon dernier test qui malheureusement ne fonctionne pas :/ ---> mon problème)
J'en profite aussi pour vous demander votre aide sur un autre problème concernant ce même bout de code. En effet dans ma liste qui s'affiche il me manque un client, qui s'avère être le client en tête de ma table, je ne vois pas d'où cela peut venir.
Merci d'avance :)
A voir également:
- Recuperer valeur <select>
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
5 réponses
Salut salut,
Tu dois avoir quelques messages d'erreur non?
Dans ta requête il y a des guillemets simple autour du nom de la table , enlève les.
Dans l'attribut action de la balise form ajout php à la fin du nom de ton fichier : ...action="rechercheproduit.php" ...
Lorsque tu ouvres la balise php pour instancier la value de la balise option fais un echo pour l'insérer dans le code html :
<option value="<?php echo $Liste['nomclient']?>"><?php echo $Liste['nomclient']; ?></option>
Normalement cela devrait t'afficher la liste des clients de ta table dans le select (la colonne en base de donnée est bien nommée nomClient?)
Ensuite lors de la soumission du formulaire pour récupérer celui sélectionner il faut utiliser le nom de balise select.
Au lieu de
$clientliste = $_POST['nomclient'];
écris plutôt
$clientliste = $_POST['listeclient'];
Résolu? ===> [RESOLU]
Tu dois avoir quelques messages d'erreur non?
Dans ta requête il y a des guillemets simple autour du nom de la table , enlève les.
Dans l'attribut action de la balise form ajout php à la fin du nom de ton fichier : ...action="rechercheproduit.php" ...
Lorsque tu ouvres la balise php pour instancier la value de la balise option fais un echo pour l'insérer dans le code html :
<option value="<?php echo $Liste['nomclient']?>"><?php echo $Liste['nomclient']; ?></option>
Normalement cela devrait t'afficher la liste des clients de ta table dans le select (la colonne en base de donnée est bien nommée nomClient?)
Ensuite lors de la soumission du formulaire pour récupérer celui sélectionner il faut utiliser le nom de balise select.
Au lieu de
$clientliste = $_POST['nomclient'];
écris plutôt
$clientliste = $_POST['listeclient'];
Résolu? ===> [RESOLU]
C'est niquel ! je te remercie grandement kyser soze :)
A propos du point
"Dans l'attribut action de la balise form ajout php à la fin du nom de ton fichier : ...action="rechercheproduit.php" ... "
Je ne dois pas ajouter le .php a la fin car j'utilise le CMS Joomla et donc les pages sont générées avec plusieurs fichiers php en même temps ^^ mais j'avoue que je ne l'ai pas précisé donc c'est ma faute :x
Pour les quotes autour de ma table ça n'a rien changé car ce n'était pas des quotes mais des Alt Gr + 7 = ' ^^
En tout cas grâce à toi j'arrive désormais à avoir la valeur sélectionnée dans ma variable :)
Je vais faire mon lourd mais comment pourrais-je faire pour qu'en rechargeant ma page la valeur sélectionnée précédemment reste sélectionnée ?
Avec un selected="selected" dans la balise <option> je présume ?
A propos du point
"Dans l'attribut action de la balise form ajout php à la fin du nom de ton fichier : ...action="rechercheproduit.php" ... "
Je ne dois pas ajouter le .php a la fin car j'utilise le CMS Joomla et donc les pages sont générées avec plusieurs fichiers php en même temps ^^ mais j'avoue que je ne l'ai pas précisé donc c'est ma faute :x
Pour les quotes autour de ma table ça n'a rien changé car ce n'était pas des quotes mais des Alt Gr + 7 = ' ^^
En tout cas grâce à toi j'arrive désormais à avoir la valeur sélectionnée dans ma variable :)
Je vais faire mon lourd mais comment pourrais-je faire pour qu'en rechargeant ma page la valeur sélectionnée précédemment reste sélectionnée ?
Avec un selected="selected" dans la balise <option> je présume ?
T'inquiètes c'est pas lourd c'est fait pour ça.
C'est exactement ce que tu as dis, en ajoutant quelques tests php c'est vite fait:
Si la variable $_POST['listeClient'] existe et quelle est égale à la variable $Liste['nomClient'] on sélectionne cette balise option, donc au chargement elle sera sélectionner par défaut.
Résolu? ===> [RESOLU]
C'est exactement ce que tu as dis, en ajoutant quelques tests php c'est vite fait:
<option value="<?php echo $Liste['nomclient']?>" <?php if(isset($_POST['listeClient']) && $_POST['listeClient']==$Liste['nomClient']){ ?> selected="selected" <?php } ?> > <?php echo $Liste['nomclient']; ?></option>
Si la variable $_POST['listeClient'] existe et quelle est égale à la variable $Liste['nomClient'] on sélectionne cette balise option, donc au chargement elle sera sélectionner par défaut.
Résolu? ===> [RESOLU]
J'ai eu du mal à comprendre les conditions du IF mais maintenant elles sont claires x). Malheureusement ton code ne marche pas. Au rechargement de la page la première valeur reste sélectionnée par défaut. Je l'ai réordonné de manière à ce qu'il soit plus visuel et compréhensible (pour moi bien-sur ^^) comme ceci :
J'ai beau chercher je ne trouve pas d'erreur.
(Je te remercie encore de me consacrer du temps !)
<select name="listeclient">
<?php
while ($Liste=mysql_fetch_array($ReponseListe))
{
?>
<option value="<?php echo $Liste['nomclient']?>" <?php
if(isset($_POST['listeClient']) && $_POST['listeClient']==$Liste['nomClient'])
{
?> selected="selected" <?php
}
?> > <?php echo $Liste['nomclient']; ?></option><?php
}
?>
</select>
J'ai beau chercher je ne trouve pas d'erreur.
(Je te remercie encore de me consacrer du temps !)
Je fais mon code avec NotePad++ et il y a la coloration syntaxique.
Je viens de remarquer en cliquant sur le <option...></option> que le chevron fermant > la première balise du option prenant effet se trouve être celui fermant la balise <?php ?> de l'attribut valeur. Il ne prend donc pas en compte le chevron fermant > placé à la dernière ligne du code que tu m'as indiqué.
Selon moi l'erreur vient de là mais je ne vois pas comment la corriger
Je viens de remarquer en cliquant sur le <option...></option> que le chevron fermant > la première balise du option prenant effet se trouve être celui fermant la balise <?php ?> de l'attribut valeur. Il ne prend donc pas en compte le chevron fermant > placé à la dernière ligne du code que tu m'as indiqué.
Selon moi l'erreur vient de là mais je ne vois pas comment la corriger
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question