Foros del Web » Programando para Internet » PHP »

Select dependa de otro mysql php

Estas en el tema de Select dependa de otro mysql php en el foro de PHP en Foros del Web. Buenas, he tratado por todos lados de obtener la solución y nada veran tengo esto. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script > ...
  #1 (permalink)  
Antiguo 06/03/2017, 20:27
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Select dependa de otro mysql php

Buenas, he tratado por todos lados de obtener la solución y nada veran tengo esto.

Código Javascript:
Ver original
  1. <script>
  2.  
  3. function myFunction(str)
  4. {
  5. loadDoc("q="+str,"cdm/proc.php",function()
  6.   {
  7.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  8.     {
  9.     document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  10.     }
  11.   });
  12. }
  13.  
  14. function myFunction2(str)
  15. {
  16. loadDoc("r="+str,"cdm/proc2.php",function()
  17.   {
  18.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  19.     {
  20.     document.getElementById("myDiv2").innerHTML=xmlhttp.responseText;
  21.     }
  22.   });
  23. }
  24.  
  25. </script>

Código PHP:
Ver original
  1. <select id="codigo"  name="codigo" onchange="myFunction(this.value)">
  2.  
  3. <option value="">Seleccione</option>
  4.  
  5. <?php
  6.  
  7. while($fila=mysql_fetch_array($res)){
  8.  
  9. ?>
  10.  
  11.  <option value="<?php echo $fila['codigo']; ?>"><?php echo $fila['codigo']; ?></option>
  12.  
  13. <?php } ?>
  14.  
  15. </select>

Código PHP:
Ver original
  1. <?php
  2. include 'conexion.php';
  3.  
  4. $r=$_POST['q'];
  5. $con=conexion();
  6.  
  7. $res=mysql_query("select * from medicina where codigo=".$r."",$con);
  8.  
  9. ?>
  10.  
  11. <select id="medicamento" name="medicamento" onchange="myFunction2(this.value)">
  12.  
  13. <option value="medicamento">Seleccione</option>
  14. <?php while($fila=mysql_fetch_array($res))
  15.  
  16. { ?>
  17.  
  18.  
  19.  <option value="<?php echo $fila['codigo']; ?> "><?php echo $fila['medicamento']; ?></option>
  20.  
  21. <?php } ?>
  22.  
  23. </select>
Código PHP:
Ver original
  1. <?php
  2. include 'conexion.php';
  3.  
  4. $q=$_POST['r'];
  5. $con=conexion();
  6.  
  7. $res=mysql_query("select * from medicina where codigo=".$q."",$con);
  8.  
  9. ?>
  10.  
  11. <select id="presentacion" name="presentacion">
  12.  
  13. <option value="-">Seleccione</option>
  14. <?php while($fila=mysql_fetch_array($res)){ ?>
  15.  <option value="<?php echo $fila['presentacion']; ?>"><?php echo $fila['presentacion']; ?></option>
  16. <?php } ?>
  17.  
  18. </select>

En teoria hace lo que se quiere que los select dependan uno de otro, el error radica en que cuando quiero almacenar los datos en una tabla me generar un error aqui.
Código PHP:
Ver original
  1. <option value="<?php echo $fila['codigo']; ?> "><?php echo $fila['medicamento']; ?></option>

claro esta lo genera por que esta es value="codigo" y no al medicamento. pero si en ese value coloco medicamento el select no me funciona.
  #2 (permalink)  
Antiguo 07/03/2017, 09:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: Select dependa de otro mysql php

muéstranos el error para poder ayudarte, y si puedes el código donde guardas en base de datos
  #3 (permalink)  
Antiguo 07/03/2017, 10:20
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Select dependa de otro mysql php

Hola sustentio,

el error esta aqui
Código PHP:
Ver original
  1. <option value="<?php echo $fila['codigo']; ?> "><?php echo $fila['medicamento']; ?></option>

si ves el value="<?php echo $fila['codigo']; ?>" al momento de registrar me registra el codigo y no el mombre del medicamento.

aqui realizo la consulta.
Código PHP:
Ver original
  1. <?php
  2. include 'conexion.php';
  3.  
  4. $r=$_POST['q'];
  5. $con=conexion();
  6.  
  7. $res=mysql_query("select * from medicina where codigo=".$r."",$con);
  8.  
  9. ?>
  10.  
  11. <select id="medicamento" name="medicamento" onchange="myFunction2(this.value)">
  12.  
  13. <option value="medicamento">Seleccione</option>
  14. <?php while($fila=mysql_fetch_array($res))
  15.  
  16. { ?>
  17.  
  18.  
  19.  <option value="<?php echo $fila['codigo']; ?> "><?php echo $fila['medicamento']; ?></option>
  20.  
  21. <?php } ?>
  22.  
  23. </select>

formulario que almacena.

Código PHP:
Ver original
  1. <table width="728" border="0" align="center" cellpadding="0" cellspacing="0" id="bordes">    
  2.     <tr>
  3.       <td height="27" class="modulo_entrada1"><strong>Codigo:&nbsp;</strong></td><td><select id="codigo"  name="codigo" onChange="myFunction(this.value)">
  4.  
  5. <option value="">Seleccione</option>
  6.  
  7. <?php
  8.  
  9. while($fila=mysql_fetch_array($res)){
  10.  
  11. ?>
  12.  
  13.  <option value="<?php echo $fila['codigo']; ?>"><?php echo $fila['codigo']; ?></option>
  14.  
  15. <?php } ?>
  16.  
  17. </select>
  18. </td>
  19.     <td class="modulo_entrada1"><strong>Medicamento:&nbsp;</strong></td><td><div id="myDiv"></div></td>
  20.     </tr>    
  21.  <tr> <td height="24" colspan="1" class="modulo_entrada1"><strong>Presentación:&nbsp;</strong></td>
  22.    <td><div id="myDiv2"></div></td>
  23.  <td colspan="1" class="modulo_entrada1"><strong>Cantidad Entregada:&nbsp;</strong></td>
  24.  <td><input name="cantidad_entregada" type="text" class="validate[required]"/></td></tr>
  25.  <tr> <td height="24" colspan="1" class="modulo_entrada1"><strong>Destino:&nbsp;</strong></td>
  26.    <td><input name="destino" type="text" id="destino" size="25" class="validate[required]"/></td>
  27.  <td colspan="1" class="modulo_entrada1"><strong>C.i quien retira:&nbsp;</strong></td>
  28.  <td><input name="ciretira" type="text" class="validate[required,custom[integer]]"/></td></tr>
  29.   <tr> <td height="26" colspan="1" class="modulo_entrada1"><strong>Nombre y Apellido:&nbsp;</strong></td>
  30.    <td><input name="datos_re" type="text" id="destino" size="25" class="validate[required]"/></td>
  31.  <td colspan="1" class="modulo_entrada1"><strong>Telefono:&nbsp;</strong></td>
  32.  <td><input name="telefono" type="text" class="validate[required]"/></td></tr>
  33.  <td colspan="1" class="modulo_entrada1"><strong>Fecha de la entrega:&nbsp;</strong></td>
  34.  <td><input name="fecha_entrega" type="text"  id="datepicker"/></td></tr>
  35.  
  36.  <tr><td height="9"></td></tr>
  37.     </table>
  #4 (permalink)  
Antiguo 07/03/2017, 10:22
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Select dependa de otro mysql php

si en este value"<?php echo $fila['codigo']; ?> "> coloco medicamento, no me funciona el select.
  #5 (permalink)  
Antiguo 07/03/2017, 20:21
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Select dependa de otro mysql php

Este value value="<?php echo $fila['codigo'];?>"

Código PHP:
Ver original
  1. <option value="<?php echo $fila['codigo'];?>"><?php echo $fila['medicamento']; ?></option>

como puedo modificar ese value sin afectar mi tercer select
  #6 (permalink)  
Antiguo 07/03/2017, 21:30
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 8 años, 8 meses
Puntos: 13
Respuesta: Select dependa de otro mysql php

no te entiendo mucho realmente , solo pones la linea del código no el error que da.
aparte no se de que trata tu sistema , de que son los selects ? de medicamentos ?
colocas un código y en el segundo te trae el nombre del medicamento o que ?

porque veo que buscas 2 veces en la misma tabla
$res=mysql_query("select * from medicina where codigo=".$q."",$con);

explícate un poco mejor

porque a ver , cuando se hace un select dependiente por ejemplo de países estados.

Normalmente cargas los países en un select ( ojo modo ejemplo )
luego -> dependiendo de esa elección traes la data al segundo select
si el usuario cambia limpias el select(estados) y lo rellenas de nuevo ( con tu función en ajax , jquery )

pero todo eso depende de una DB

por ejemplo paises :
id - name

estados
id - id-pais - nombre

si no tienes un elemento como relacionarles vas a fallar en hacerlo.
  #7 (permalink)  
Antiguo 08/03/2017, 06:56
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Select dependa de otro mysql php

tengo una sola tabla.
Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `medicina` (
  2.   `codigo` VARCHAR(100) NOT NULL,
  3.   `medicamento` VARCHAR(150) NOT NULL,
  4.   `presentacion` VARCHAR(50) NOT NULL,
  5.   `fecha_elaboracion` VARCHAR(20) NOT NULL,
  6.   `fecha_vencimiento` VARCHAR(20) NOT NULL,
  7.   `lote` VARCHAR(50) NOT NULL,
  8.   `cantidad_recibida` VARCHAR(10) NOT NULL,
  9.   `observacion_adicional` VARCHAR(400) NOT NULL,
  10.   `medico` VARCHAR(150) NOT NULL
  11. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

mi index.

Código PHP:
Ver original
  1. <script>
  2.  
  3. function myFunction(str)
  4. {
  5. loadDoc("q="+str,"cdm/proc.php",function()
  6.   {
  7.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  8.     {
  9.     document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  10.     }
  11.   });
  12. }
  13.  
  14. function myFunction2(str)
  15. {
  16. loadDoc("r="+str,"cdm/proc2.php",function()
  17.   {
  18.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  19.     {
  20.     document.getElementById("myDiv2").innerHTML=xmlhttp.responseText;
  21.     }
  22.   });
  23. }
  24.  
  25. </script>
  26. <?php
  27. include 'cdm/conexion.php';
  28. $con=conexion();
  29. $res=mysql_query("select * from medicina",$con);
  30.  
  31. ?>
  32. <table width="728" border="0" align="center" cellpadding="0" cellspacing="0" id="bordes">    
  33.     <tr>
  34.       <td height="27" class="modulo_entrada1"><strong>Codigo:&nbsp;</strong></td><td><select id="codigo"  name="codigo" onChange="myFunction(this.value)">
  35.  
  36. <option value="">Seleccione</option>
  37.  
  38. <?php
  39.  
  40. while($fila=mysql_fetch_array($res)){
  41.  
  42. ?>
  43.  
  44.  <option value="<?php echo $fila['codigo']; ?>"><?php echo $fila['codigo']; ?></option>
  45.  
  46. <?php } ?>
  47.  
  48. </select>
  49. </td>
  50.     <td class="modulo_entrada1"><strong>Medicamento:&nbsp;</strong></td><td><div id="myDiv"></div></td>
  51.     </tr>    
  52.  <tr> <td height="24" colspan="1" class="modulo_entrada1"><strong>Presentación:&nbsp;</strong></td>
  53.    <td><div id="textOculto" style="display: none;">
  54.   <input type="text" id="medicamento" name="medicamento" />
  55. </div> <div id="myDiv2"></div></td>
  56.  <td colspan="1" class="modulo_entrada1"><strong>Cantidad Entregada:&nbsp;</strong></td>
  57.  <td><input name="cantidad_entregada" type="text" class="validate[required]"/></td></tr>
  58.  <tr> <td height="24" colspan="1" class="modulo_entrada1"><strong>Destino:&nbsp;</strong></td>
  59.    <td><input name="destino" type="text" id="destino" size="25" class="validate[required]"/></td>
  60.  <td colspan="1" class="modulo_entrada1"><strong>C.i quien retira:&nbsp;</strong></td>
  61.  <td><input name="ciretira" type="text" class="validate[required,custom[integer]]"/></td></tr>
  62.   <tr> <td height="26" colspan="1" class="modulo_entrada1"><strong>Nombre y Apellido:&nbsp;</strong></td>
  63.    <td><input name="datos_re" type="text" id="destino" size="25" class="validate[required]"/></td>
  64.  <td colspan="1" class="modulo_entrada1"><strong>Telefono:&nbsp;</strong></td>
  65.  <td><input name="telefono" type="text" class="validate[required]"/></td></tr>
  66.  <td colspan="1" class="modulo_entrada1"><strong>Fecha de la entrega:&nbsp;</strong></td>
  67.  <td><input name="fecha_entrega" type="text"  id="datepicker"/></td></tr>
  68.  
  69.  <tr><td height="9"></td></tr>
  70.     </table>

archivo1

Código PHP:
Ver original
  1. <?php
  2. include 'conexion.php';
  3. $r=$_POST['q'];
  4. $con=conexion();
  5. $res=mysql_query("select * from medicina where codigo=".$r."",$con);
  6.  
  7. ?>
  8.  
  9. <select id="medicamento" name="medicamento" onchange="myFunction2(this.value)">
  10.  
  11. <option>Seleccione</option
  12. >
  13. <?php
  14.  while($fila=mysql_fetch_array($res))
  15. {
  16. ?>
  17.  
  18.  <option  value="<?php echo $fila['medicamento'];?>" ><?php echo $fila['medicamento']; ?></option>
  19.  
  20. <?php } ?>
  21.  
  22. </select>

archivo2

Código PHP:
Ver original
  1. <?php
  2. include 'conexion.php';
  3.  
  4. $q=$_POST['r'];
  5. $con=conexion();
  6.  
  7. $res=mysql_query("select * from medicina where codigo=".$q."",$con);
  8.  
  9. ?>
  10.  
  11. <select id="presentacion" name="presentacion">
  12. <option value="-">Seleccione</option>
  13. <?php while($fila=mysql_fetch_array($res)){  ?>
  14.  <option value="<?php echo $fila['presentacion']; ?>"><?php echo $fila['presentacion']; ?></option>
  15. <?php } ?>
  16.  
  17. </select>

El problema radica en archivo uno aqui.
Código PHP:
Ver original
  1. <option  value="<?php echo $fila['codigo'];?>" ><?php echo $fila['medicamento']; ?></option>

en teoria los tres select funcionan bien ya que me trae los datos que quiero de la bd, ahora cuando quiero guardar los datos del formulario el campo medicamento me lo registra con el codigo ya que en el valur tengo esto.
Código PHP:
Ver original
  1. value="<?php echo $fila['codigo'];?>" ><?php echo $fila['medicamento']; ?>
ahora si ese value lo coloco asi.
Código PHP:
Ver original
  1. <option  value="<?php echo $fila['medicamento'];?>" ><?php echo $fila['medicamento']; ?></option>
no me funciona el tercer select ya que esta realacionado con el codigo. ahora como puedo hacer para que me registre el medicamento y no el codigo.
  #8 (permalink)  
Antiguo 08/03/2017, 16:23
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 8 años, 8 meses
Puntos: 13
Respuesta: Select dependa de otro mysql php

Cuando vayas a guardar puedes simplemente hacer una consulta para ver si dicho medicamento existe , si existe te traes el nombre y haces el posterior registro que quieres.
  #9 (permalink)  
Antiguo 08/03/2017, 20:42
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Select dependa de otro mysql php

Me indicas que aplique algo asi.
Código PHP:
Ver original
  1. $con=mysql_connect($host,$user,$pass);
  2. if (!$con) {
  3. die('Problemas con el servidor: ' . mysql_error());
  4. }
  5. $db_selected = mysql_select_db($db,$con);
  6. if (!$db_selected) {
  7. die ('Error al conectar a la BD. : ' . mysql_error());
  8. } ?>
  9. <?php $forosdelweb= "SELECT * from medicina where codigo =  '$codigo'";
  10. $cliente = mysql_query($forosdelweb);
  11.    
  12.     $fila = mysql_fetch_array($cliente);?>
  13.  
  14.  value="<?php echo $fila["codigo"]?>"

pero si hago esa consulta como aplico, no me afectaria el campo del tercer select. estoy algo enredado aqui ya que no veo como incluirlo.
  #10 (permalink)  
Antiguo 08/03/2017, 20:47
 
Fecha de Ingreso: julio-2013
Mensajes: 123
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Select dependa de otro mysql php

en el tercer select tengo. <div id="myDiv2"> como reemplazar esto que me trae
Código PHP:
Ver original
  1. <option  value="<?php echo $fila['codigo'];?>" ><?php echo $fila['medicamento']; ?></option>
para que me guarde el medicamento y no el codigo
  #11 (permalink)  
Antiguo 08/03/2017, 22:25
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 8 años, 8 meses
Puntos: 13
Respuesta: Select dependa de otro mysql php

a ver te explico creo que no entendiste


Cita:
en teoria los tres select funcionan bien ya que me trae los datos que quiero de la bd, ahora cuando quiero guardar los datos del formulario el campo medicamento me lo registra con el codigo ya que en el valur tengo esto.
Lo que te propuse fue : que cuando vayas a guardar el registro , con ese código haces una consulta a la base de datos , verificando si existe tal medicamento con dicho código y trayendo su nombre.

ejemplo :

Código PHP:
Ver original
  1. $sql = mysql_query("SELECT nombre FROM medicamento WHERE codigo= '$codigo'");
  2. $row = mysql_fetch_array($sql);
  3. $nombre = $row['nombre'];


y así obtienes el nombre del medicamento con el código antes de guardar , y ya simplemente luego de eso ejecutas tu query para guardar sabiendo que tienes el nombre del medicamento en esa variable.

Etiquetas: html, mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.