Rellenar input en función de <select> PHP MySQL
ookahh1
Mensajes publicados
61
Fecha de registro
Estado
Miembro
Última intervención
-
daggoon -
daggoon -
Hola, estoy desarrollando una aplicación de gestión de stock con una base MySQL y PHP y ahora estoy realmente bloqueado.
Quisiera que para la entrada de la orden de un cliente, cuando el usuario selecciona el nombre del material en un select conectado a la base de datos, el precio de este se muestre automáticamente en un input
aquí está el código que uso:
ce code m’affiche la liste de tout le matériel
Mon problème est comment afficher le prix qui est la colonne 'pu' dans ma base, dans un champ de text input Merci
Quisiera que para la entrada de la orden de un cliente, cuando el usuario selecciona el nombre del material en un select conectado a la base de datos, el precio de este se muestre automáticamente en un input
aquí está el código que uso:
<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 tout le matériel
Mon problème est comment afficher le prix qui est la colonne 'pu' dans ma base, dans un champ de text input Merci
5 respuestas
-
Gracias Pitet por tu respuesta но no consigo mostrar los precios desde el input.
la lista de material se muestra bien pero cuando lo selecciono el precio no sale. -
Hola,
Si el precio unitario se encuentra en la misma tabla SQL, puedes empezar por recuperar esa columna en tu consulta:
$req = "SELECT des_mat, pu FROM materiel";
Luego defines el precio para cada fila de tu selección con un atributo personalizado:
while ( $col = mysql_fetch_row ($ret) )
{
echo '<option value="' . $col[0] . '" data-pu="' . $col[1] . '">' . $col[0] . '</option>';
}
Finalmente utilizas JavaScript para mostrar el PU cuando se selecciona una fila. Aquí tienes un ejemplo completo con 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 -
Finalmente he decidido dejar la opción del menú desplegable para usar un enlace. es decir, muestro mis datos con mi consulta y cuando hago clic en el nombre del material se muestra en un campo similar para el precio también. ¿podrías ayudarme a encontrar algo?
-
Gracias por tu ayuda Pitet. Finalmente encontré algo con los enlaces en PHP y JavaScript <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 ''.$col[0].''; echo '
'; } ?> y luego el display con JavaScript <script type="text/javascript"> function affiche(tag) { msgfield = document.getElementById("id_champ"); msgfield.value = tag ; msgfield.focus(); } </script> y ¡funciona!!!!!!! -
Funciona con ese código... solo hay que quitar .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>