PHPHTML - Cargar combobox (Select) con registros de una...

HTML – Cargar combobox (Select) con registros de una tabla

-

- Advertisment -

En HTML al combobox se le llama SELECT, yo soy programador de escritorio (aplicaciones para Windows) y a ese control toda la vida lo he conocido como un Combobox. en su sintaxis se necesita definir el nombre al select (que será recogido por el método POST) y cada elemento dentro de un tag option que tendrá como propiedad value el valor/clave/código que será recogido con POST, finalmente el texto que se mostrará en el navegador al usuario

<select name="lenguajes_programacion">
  <option value="C01">Visual Basic</option>
  <option value="C02">Delphi</option>
  <option value="C03">Power Builder</option>
</select>

combobox_html

Si por ejemplo escogimos Visual Basic en nuestro combo, cuando recolectemos los datos $_POST[‘lenguajes_programacion’] tendrá el valor de C01.

Teniendo eso como base pasaremos con el código que llenará nuestro combo con los datos de una tabla, he usado la tabla de tbl_estados de nombre de estados y abreviaturas de USA para este ejemplo y el tutorial Mysqli orientado a Objetos – Conectarse a Base de datos

<?php
$server     = 'localhost'; //servidor
$username   = 'xxxxxxx'; //usuario de la base de datos
$password   = 'xxxxxxxx'; //password del usuario de la base de datos
$database   = 'xxxxxxxx'; //nombre de la base de datos

$conexion = @new mysqli($server, $username, $password, $database);

if ($conexion->connect_error) //verificamos si hubo un error al conectar, recuerden que pusimos el @ para evitarlo
{
    die('Error de conexión: ' . $conexion->connect_error); //si hay un error termina la aplicación y mostramos el error
}

$sql="SELECT * from tbl_estados";
$result = $conexion->query($sql); //usamos la conexión para dar un resultado a la variable

if ($result->num_rows > 0) //si la variable tiene al menos 1 fila entonces seguimos con el código
{
    $combobit="";
    while ($row = $result->fetch_array(MYSQLI_ASSOC)) 
    {
        $combobit .=" <option value='".$row['abbr']."'>".$row['nombre']."</option>"; //concatenamos el los options para luego ser insertado en el HTML
    }
}
else
{
    echo "No hubo resultados";
}
$conexion->close(); //cerramos la conexión
?>
<html>
<head>
<title>Llenar un Combobox/Select con registros de una Tabla</title>
<link href="contactos.css" rel="stylesheet" type="text/css" />
</head>
<body>
   <select name="estado">
       <?php echo $combobit; ?>
   </select>
</body>
</html>
Archivos adjuntos

30 COMENTARIOS

  1. Hola, muy bueno, una pregunta, como podria hacer para llenar otro combobox igual con datos de la base de datos,pero que dependa de la informacion del primer combobox? ejemplo
    Primer combo – Pais: Alemania
    Segundo combo – Ciudad: Frankfurt

    que me muestre las ciudades de alemania si elijo alemania en el primer combobox.

    Saludos y gracias

    • Cuando manejas un Objeto en PHP, sus metodos y propiedades (funciones y variables publicas) se accesan de esa manera; es como el caso de matrices que se usa los corchetes $matriz[INDICE], en objeto es $variable->funcion(); o $variable->variable_publica

      Saludos

  2. Buenas, en primer lugar agradecer que hayas facilitado este ejemplo. Mi pregunta es la siguiente, quiero hacer que en un option salga mas de un valor y que se almacene en una tabla.

    Gracias

  3. alguien me puede ayudar con las siguientes preguntas
    1.- Escriba una función que despliegue 3
    combo box que especifiquen una fecha: día,
    mes y año. (no retorna nada).
    2.- Escriba una función que reciba como
    parámetro un arreglo con los nombres de los
    países (5 países) y generar con un combo box
    , esta función debe retornar código HTML
    (string).

  4. hola que tal me podrias ayudar con este problema en tu opcion pones lo siguiente

    Delphi
    Power Builder
    pero como le aria para que dentro de un aopcion elija las 2 antes menionadas digamos que dentro de esta linea

    Delphi y Power Builder

  5. y como le haria para que dentro de un solo option value seleccione el co2 y co3 al mismo tiempo cual seria la intruccion o dejo entre comillas las 2 o como le haria¡¡¡ te agradeceria que me ayudaras¡¡
    saludos¡¡¡

  6. Hola:

    Gracias por el aporte, me ha servido muchísimo.

    Mi pregunta es:

    como puede hacer para que mi formulario mande un correo a la opcion del , ya lo que configurado y al momento de mandarlo se supone que lo manda a -“value”-, lo que quedó en el HTML final. pero mi correo no llega a nungun lado.

    para probarlo escribí el el echo “$area” donde el resultado sí es el correo que espero, pero la cosa es que el correo nunca llega. mi código es el siguiente:

    Del lado del llenado del formulario:

    connect_error) //verificamos si hubo un error al conectar, recuerden que pusimos el @ para evitarlo
    {
    die(‘Error de conexión: ‘ . $conexion->connect_error); //si hay un error termina la aplicación y mostramos el error
    }

    $sql=”SELECT * from idmail”;
    $result = $conexion->query($sql); //usamos la conexion para dar un resultado a la variable

    if ($result->num_rows > 0) //si la variable tiene al menos 1 fila entonces seguimos con el codigo
    {
    $combobit=””;
    while ($row = $result->fetch_array(MYSQLI_ASSOC))
    {
    $combobit .=” “.$row[‘idarea’].””; //concatenamos el los options para luego ser insertado en el HTML
    }
    }
    else
    {
    echo “No hubo resultados”;
    }
    $conexion->close(); //cerramos la conexión
    ?>

    Y este es el procedimiento que hace que se envíe el correo.

    $donde\n”;
    $msg .=”\n”;
    $msg .=utf8_decode(“Mi información adicional:”);
    $msg .=”\n”;
    $msg .=utf8_decode(“\n $comentario”);
    $to=”$area”;
    $subjet=”Contacto desde sitio WEB”;
    $mailheaders=”from:$nombre \r\n”;
    mail(“$area”,”$subjet”,”$msg”,”$mailheaders”);
    echo “tu correo se envio correctaente a $area”;
    ?>

    gracias por tu aporte, ojalá me puedas apoyar.

    Saludos.

  7. Consulta y como lo haces para llamar a esa función???, en el caso que el código php se encuentre en una clase Service¡???

    Muchas gracias, excelente tu post.

  8. Hola muy bien explicado tu código, mi pregunta es la siguiente: Tengo un combobox que asigna roles de usuario y que efectivamente funciona a al guardar la información en la BD, he realizado una pagina actualizar usuario y ese archivo tiene un formulario donde recoge la información de ese usuario pero también tiene un combobox donde recoge la información de los roles pero necesito que me muestre el rol actual que tiene ese usuario y los demás roles que puedo asignarle en caso de cambiar rol en una actualización. Te agradecería tu valiosa ayuda.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Últimas Noticias

WordPress – Crear BBCODE o shortcode personalizados

Los BBCODES o "shortcode" son esas funciones que tiene Wordpress y que se usan con corchetes, que generalmente te...

WordPress – Enviar título de la página o campo oculto, en Contact Form 7

Problema: Tengo un cliente que tiene una web con muchos productos y en todas sus páginas usa el mismo formulario...

Laravel – Modo Debug según IP

En algunos casos se necesita el modo DEBUG según IP, por ejemplo cuando estamos en producción y tenemos un...

Reemplazar URLs cuando cambias de dominio en WordPress (también de http a https)

Cuando haces un cambio de dominio por alguna razón (antes te llamabas www.viejodominio.com y ahora www.nuevodominio.com) si bien ya...
- Advertisement -

Como ejecutar comandos Artisan desde consola Git

Voy a suponer que ya tienen instalado el composer y php de manera global y un proyecto en Laravel....

Ejecutar Composer y/o PHP de manera Global en Windows

Si por alguna razón al instalar Composer este no funciona desde cualquier ruta estando en linea de comandos (ya...

Debe leer

- Advertisement -

También podría gustarteRELACIONADA
Recomendada para usted