Foros del Web » Programando para Internet » PHP »

Crear combo php con datos de mysql

Estas en el tema de Crear combo php con datos de mysql en el foro de PHP en Foros del Web. Hola grupo. Como puedo hacer un combo (llenado desde una consulta de base de datos) y un botón en el cual, el botón me llame ...
  #1 (permalink)  
Antiguo 13/07/2010, 13:02
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 11 años, 11 meses
Puntos: 0
Crear combo php con datos de mysql

Hola grupo.
Como puedo hacer un combo (llenado desde una consulta de base de datos) y un botón en el cual, el botón me llame una página con el dato del combo que seleccione anteriormente De antemano gracias .

El codigo que tengo es el siguiente

#Conectamos con MySQL
$conexion = mysql_connect("localhost","root","")
or die ("Fallo en el establecimiento de la conexión");

#Seleccionamos la base de datos a utilizar
mysql_select_db("empresa")
or die("Error en la selección de la base de datos");

#Efectuamos la consulta SQL
$result = mysql_query ("select código, tipo from productos" )
or die("Error en la consulta SQL");

## de aqui ya no como seguir........

Mil Gracias por su apoyo.
  #2 (permalink)  
Antiguo 13/07/2010, 13:14
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 12 años, 10 meses
Puntos: 66
Respuesta: Crear combo php con datos de mysql

Más o menos así:

Código PHP:
//Efectuamos la consulta SQL
<?php
$result 
mysql_query ("select código, tipo from productos" )
or die(
"Error en la consulta SQL");
?>
<select name="nombre_select" id="nombre_select">
<?php
while($row=mysql_fetch_array($result)){
echo 
"<option value=".$row['codigo'].">".$row['tipo']."</option>";
}
?>
</select>

//El valor del select lo recoges así:
$valor=$_POST['nombre_select'];
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 13/07/2010, 15:22
 
Fecha de Ingreso: enero-2009
Mensajes: 142
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Crear combo php con datos de mysql

santri yo tengo que hacer lo mismo y no me salio tu codigo :(
verifique con el var_dump y me arroja null

asi capturo la variable del formulario
Código PHP:
Ver original
  1. $mar_id_marca=$_POST['id_marca'];

y dejo mi var dump porsiaca
Código PHP:
Ver original
  1. echo '<pre>';
  2. var_dump($_POST['id_marca']);
  3. echo '</pre>';


y asi tengo mi select
Código PHP:
Ver original
  1. <table align=center border=0>
  2. <FORM name=formulario  action='ing_modelo.php' method='POST'>
  3.  
  4. <p>nombre marca <input type='text' name='nombres' size='30' value='nombres'></p>
  5.  
  6. <p>Observacion <input type='text' name='obs' size='30' value=' '></p>
  7. <?php
  8. include("conexion.php");
  9. $result = pg_query ("select id_marca,nombre from marcas" )
  10. or die("Error en la consulta SQL");
  11. ?>
  12. <select name="nombre_select" id="id_marca">
  13. <?php
  14. while($row=pg_fetch_array($result)){
  15. echo "<option value=".$row['id_marca'].">".$row['nombre']."</option>";
  16. }
  17. ?>
  18. </select>
  19. <td>
  20. <center>
  21.  
  22. <input type="submit"  name="Accion" value='consultar' onclick="return formul(this.formulario);return false;">
  23. <input type="Reset" value="Borrar">
  #4 (permalink)  
Antiguo 13/07/2010, 15:35
 
Fecha de Ingreso: enero-2009
Mensajes: 142
Antigüedad: 13 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Crear combo php con datos de mysql

siii por fin salio, por lo menos en mi caso , publico es codigo.

Código PHP:
Ver original
  1. <table align=center border=0>
  2. <FORM name=formulario  action='ing_modelo.php' method='POST'>
  3.  
  4. <p>nombre marca <input type='text' name='nombres' size='30' value='nombres'></p>
  5.  
  6. <p>Observacion <input type='text' name='obs' size='30' value=' '></p>
  7. <?php
  8. include("conexion.php");
  9. $result = pg_query ("select id_marca,nombre from marcas" )
  10. or die("Error en la consulta SQL");
  11. ?>
  12. <select name="nombre_select" id="id_select">
  13. <?php
  14. while($row=pg_fetch_array($result)){
  15. echo "<option value=".$row['id_marca'].">".$row['nombre']."</option>";
  16.  
  17. }
  18.  
  19. ?>
  20. </select>
  21. <td>
  22. <center>
  23.  
  24. <input type="submit"  name="Accion" value='consultar' onclick="return formul(this.formulario);return false;">
  25. <input type="Reset" value="Borrar">

ese es mi formulario (arriba) piñufla pero solo para hacer el insert y envio los datos capturados del list que son extraidos de una BD y los envio a mi php para hacer el insert
Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3.  
  4.     $nombre=$_POST['nombres'];
  5.     $obs=$_POST['obs'];
  6.     $mar_id_marca=$_POST['nombre_select']; 
  7.  
  8. echo '<pre>';
  9. var_dump($_POST['nombre_select']);
  10. echo '</pre>';
  11. $sql="INSERT INTO modelos(nombre,obs_modelo,mar_id_marca)VALUES('$nombre','$obs','$mar_id_marca')";
  12. $query = pg_query($conexion, $sql);/*ejecuta la consulta*/
  13. pg_free_result($query);/*libera la consulta*/
  14. pg_close($conexion);/*libera la conexion*/
  15. ?>
  16. <?php
  17. /* This will give an error. Note the output
  18. * above, which is before the header() call */
  19. header('Location: /diego/ss.php');/*este header funciona para volver a alguna pagina X*/
  20. //header ('Location: http://www.google.cl');
  21. ?>


con el var dump se daran cuenta que envia bien el valor capturado
  #5 (permalink)  
Antiguo 13/07/2010, 15:52
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 12 años, 10 meses
Puntos: 66
Respuesta: Crear combo php con datos de mysql

$mar_id_marca=$_POST['id_marca'];

$mar_id_marca=$_POST['nombre_select'];

Saludos
__________________
Tu álbum de cromos online!!
  #6 (permalink)  
Antiguo 13/07/2010, 15:59
 
Fecha de Ingreso: enero-2009
Mensajes: 142
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Crear combo php con datos de mysql

me dolio la cabeza en resolver el problema pero ya esta por fin

Etiquetas: combo, mysql
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 15:30.