Saltar al contenido

ComboBox 3 niveles Continente Pais y Ciudad en Php y Mysql

Combobox 3 niveles “continente, país y ciudad” en PHP y MySQL. De una manera sencilla usaremos listas desplegables de 3 niveles para nuestros proyectos web, se puede implementar en varias áreas, en este artículo lo usaremos para continentes, países y ciudades.

En este código consiste en 3 etiquetas select o combobox del lenguaje HTML, pero estas etiquetas del mismo tipo están relacionados entre sí, de tal forma, que los datos del segundo select están relacionados con el primero y los datos del tercero están relacionados con el segundo.

Combobox 3 niveles “continente, país y ciudad” en Php y Mysql

El primer SELECT llamado Continentes. Por lo tanto, si elijo un continente se llena el segundo select llamado países con datos. Ahora, si elijo un país se llena datos de las ciudades de dicho país seleccionado.

En este ejemplo dejaremos datos vacíos en las tablas MySQL, existe una opción para agregar registros en los tres SELECT. Para cargar los datos en los SELECT usaremos continente, país, ciudad.

Ficheros que componen nuestro ejemplo

Mostraremos los elementos del fichero comprimido tras la descarga del mismo.

  • php_combo.sql: Fichero que contiene las tablas MySQL que usaremos para almacenar registros y consultar los datos.
  • Conexion.php: Archivo que contiene la conexión con el servidor MySQL.
  • index.php: Fichero inicial que cargara todos los datos.
  • Agregar.php: Las peticiones POST y envíos.
  • Nuevo.php: Agrega registros a la base de datos
  • Paises.php: Recibe un id de país y muestra resultados
  • Ciudades.php: Recibe un id de ciudades y devuelve todas las ciudades en el select.

Archivo Conexion.php

<?php
// simple conexion a la base de datos
function connect(){
  return new mysqli("localhost","root","","php_combo");
}

?>

Archivo Paises.php

<?php
include "Conexion.php";
$db=connect();
$query=$db->query("select * from pais where continente_id=$_GET[continente_id]");
$states = array();
while($r=$query->fetch_object()){ $states[]=$r; }
if(count($states)>0){
print "<option value=''>-- SELECCIONE --</option>";
foreach ($states as $s) {
  print "<option value='$s->id'>$s->name</option>";
}
}else{
print "<option value=''>-- NO HAY DATOS --</option>";
}
?>

Descargar Combobox 3 niveles en Php y Mysql

0/5 (0 Reviews)
Comparte