Remplir input en fonction de <select > php mysql
ookahh1
Messages postés
76
Statut
Membre
-
daggoon -
daggoon -
Bonjour, je suis entain de developper une appliacation de gestion de stock avec une base mysql et php et voilà que je vraiment bloqué.
Je voudrais que pour la saisie de la commande d'un client lorsque l'utilisateur selectionne le nom du materiel dans un select relié à la la base de données, le prix de ce dernier doit s'affiche automatiquement dans un input
voici le code que j'utilise:
ce code m'affiche la liste de tous le materiel
Mon problème est comment afficher le prix qui est la colonne 'pu' dans ma base, dans un champs de text input Merci
Je voudrais que pour la saisie de la commande d'un client lorsque l'utilisateur selectionne le nom du materiel dans un select relié à la la base de données, le prix de ce dernier doit s'affiche automatiquement dans un input
voici le code que j'utilise:
<select name="des" id="des">
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("bd", $con);
$req = "SELECT des_mat ".
"FROM materiel " ;
$ret = mysql_query ($req) or die (mysql_error ());
while ( $col = mysql_fetch_row ($ret) )
{
echo '<option value="'.$col[0].'">'.$col[0].'</option>';
}
?>
</select>
ce code m'affiche la liste de tous le materiel
Mon problème est comment afficher le prix qui est la colonne 'pu' dans ma base, dans un champs de text input Merci
A voir également:
- Php select as
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
5 réponses
Merci Pitet pour ta reponse mais je n'arrive pas a afficher les prix des le input .
la liste des materiel s'affiche bien mais lorsque je selectionne le prix ne sort pas.
la liste des materiel s'affiche bien mais lorsque je selectionne le prix ne sort pas.
Salut,
Si le prix unitaire se trouve dans la même table sql, tu peux commencer par récupérer cette colonne dans ta requête :
Ensuite tu définis le prix pour chaque ligne de ton select avec un attribut personnalisé :
Enfin tu utilises javascript pour afficher le PU lorsqu'une ligne est sélectionnée. Voici un exemple complet avec jQuery :
Bonne journée
Si le prix unitaire se trouve dans la même table sql, tu peux commencer par récupérer cette colonne dans ta requête :
$req = "SELECT des_mat, pu FROM materiel";
Ensuite tu définis le prix pour chaque ligne de ton select avec un attribut personnalisé :
while ( $col = mysql_fetch_row ($ret) )
{
echo '<option value="' . $col[0] . '" data-pu="' . $col[1] . '">' . $col[0] . '</option>';
}
Enfin tu utilises javascript pour afficher le PU lorsqu'une ligne est sélectionnée. Voici un exemple complet avec jQuery :
<select id="des">
<option value="1" data-pu="15">1</option>
<option value="2" data-pu="30">2</option>
<option value="3" data-pu="45">3</option>
</select>
<input type="text" id="pu" />
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$('#des').change(function() {
var pu = $('#des option:selected').first().attr('data-pu');
$('#pu').val(pu);
});
</script>
Bonne journée
Finalement j'ai décidé de laisser l'option du menu deroulant pour utiliser un lien.
c'est à dire j'affiche mes données avec ma requete et quand je clic sur le nom du materiel cela s'affiche dans un champs pareil pour le prix egalement.
pourais tu m'aider à trouver quelque chose?
c'est à dire j'affiche mes données avec ma requete et quand je clic sur le nom du materiel cela s'affiche dans un champs pareil pour le prix egalement.
pourais tu m'aider à trouver quelque chose?
Merci pour ton aide Pitet . j'ai finalement trouver quelque chose avec les liens en php et javascript
puis l'affichage avec javascript
et ça marche!!!!!!!
<input id="id_champ" name="des" >
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("db", $con);
$req = "SELECT des_mat, pu FROM materiel " ;
$ret = mysql_query ($req) or die (mysql_error ());
while ( $col = mysql_fetch_row ($ret) )
{
echo '<a href="#" onclick="affiche(\''.$col[0].'\');">'.$col[0].'</a>';
echo '<br>';
}
?>
puis l'affichage avec javascript
<script type="text/javascript"> function affiche(tag) { msgfield = document.getElementById("id_champ"); msgfield.value = tag ; msgfield.focus(); } </script>
et ça marche!!!!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca marche avec ce code là... faut juste retirer .first
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$('#des').change(function() {
var pu = $('#des option:selected').attr('data-pu');
$('#pu').val(pu);
});
</script>