Rellenar input en función de <select> PHP MySQL

ookahh1 Mensajes publicados 61 Fecha de registro   Estado Miembro Última intervención   -  
 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:

<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

  1. ookahh1 Mensajes publicados 61 Fecha de registro   Estado Miembro Última intervención   1
     
    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.
    1
  2. Pitet Mensajes publicados 2845 Estado Miembro 530
     
    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
    0
  3. ookahh1 Mensajes publicados 61 Fecha de registro   Estado Miembro Última intervención   1
     
    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?
    0
  4. ookahh1 Mensajes publicados 61 Fecha de registro   Estado Miembro Última intervención   1
     
    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!!!!!!!
    0