Omar Yony Ramos Rojas para servirles....
__________________________________________________ _______________
BASE DE DATOS "combo" esta en Mysql
__________________________________________________ _______________
- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `dep`
--
CREATE TABLE `dep` (
`iddep` int(10) unsigned NOT NULL auto_increment,
`pais_idp` int(10) unsigned NOT NULL,
`departamento` varchar(25) default NULL,
PRIMARY KEY (`iddep`),
KEY `dep_FKIndex1` (`pais_idp`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Volcar la base de datos para la tabla `dep`
--
INSERT INTO `dep` (`iddep`, `pais_idp`, `departamento`) VALUES
(1, 1, 'Puno'),
(2, 1, 'arequipa'),
(3, 2, 'cordoba'),
(4, 2, 'San Luis');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `distrito`
--
CREATE TABLE `distrito` (
`dep_iddep` int(10) unsigned NOT NULL,
`distrito` varchar(12) NOT NULL,
KEY `distrito_FKIndex1` (`dep_iddep`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Volcar la base de datos para la tabla `distrito`
--
INSERT INTO `distrito` (`dep_iddep`, `distrito`) VALUES
(1, 'Juliaca'),
(1, 'Puno'),
(1, 'huancane'),
(1, 'azangaro'),
(3, 'santo tome'),
(3, 'santiago'),
(3, 'Chaco'),
(3, 'San Rafael');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `pais`
--
CREATE TABLE `pais` (
`idp` int(10) unsigned NOT NULL auto_increment,
`pais` varchar(25) default NULL,
PRIMARY KEY (`idp`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Volcar la base de datos para la tabla `pais`
--
INSERT INTO `pais` (`idp`, `pais`) VALUES
(1, 'peru'),
(2, 'argentina');
--
-- Filtros para las tablas descargadas (dump)
--
--
-- Filtros para la tabla `dep`
--
ALTER TABLE `dep`
ADD CONSTRAINT `dep_ibfk_1` FOREIGN KEY (`pais_idp`) REFERENCES `pais` (`idp`) ON DELETE NO ACTION ON UPDATE NO ACTION;
--
-- Filtros para la tabla `distrito`
--
ALTER TABLE `distrito`
ADD CONSTRAINT `distrito_ibfk_1` FOREIGN KEY (`dep_iddep`) REFERENCES `dep` (`iddep`) ON DELETE NO ACTION ON UPDATE NO ACTION;
CODIGO DE CONEXION DE LA BASE DE DATOS ARCHIVO "mysql.php"
Código PHP:
<?php
class MySQL{
public $cont=0;
private $conexion;
private $total_consultas;
public function MySQL(){
if(!isset($this->conexion)){
$this->conexion = (mysql_connect("localhost","root","")) or die(mysql_error());
mysql_select_db("combo",$this->conexion) or die(mysql_error());
}
}
public function consulta($consulta){
$this->total_consultas++;
$resultado = mysql_query($consulta,$this->conexion);
if(!$resultado){
echo 'MySQL Error: ' . mysql_error();
exit;
}
return $resultado;
}
public function fetch_array($consulta){
return mysql_fetch_array($consulta);
}
public function num_rows($consulta){
return mysql_num_rows($consulta);
}
public function getTotalConsultas(){
return $this->total_consultas;
}
}
?>
Código PHP:
<?php include("mysql.php");
$db = new MySQL();
$consulta_pais = $db->consulta("SELECT * FROM pais");
echo '<html>';
echo '<form method="post" action="combobox.php">';
$pais=$_POST['pais'];
$departamentos=$_POST['departamentos'];
$distrito=$_POST['distrito'];
echo '<select name="pais" onChange="submit()" style="position:absolute;left:14px;top:5px;width:1 86px;font-family:Times New Roman;font-size:16px;z-index:0">';
if ($db->num_rows($consulta_pais)>0){
echo "<option value= '$pais'>".$pais.'</option>';
while ($resultado=$db->fetch_array($consulta_pais)){ echo '<option value= "'.$resultado['pais'].'">'.$resultado['pais'].'</option>';
}
}
echo '</select>';
echo '<br>';
$consulta_cod_pais = $db->consulta("SELECT idp FROM pais WHERE pais='$pais'");
$resultado_cod_pais=$db->fetch_array($consulta_cod_pais);
$cod_pais=$resultado_cod_pais['idp'];
$consulta_departamento = $db->consulta("SELECT * FROM dep where pais_idp='$cod_pais'");
echo '<select name="departamentos" onChange="submit()" style="position:absolute;left:14px;top:35px;width: 186px;font-family:Times New Roman;font-size:16px;z-index:1">';
if ($db->num_rows($consulta_departamento)>0){
echo "<option value= '$departamentos'>".$departamentos.'</option>';
while ($resultado=$db->fetch_array($consulta_departamento)){ echo '<option value= "'.$resultado['departamento'].'">'.$resultado['departamento'].'</option>';
}
}
echo '</select>';
echo '<br>';
$consulta_cod_departamento = $db->consulta("SELECT iddep FROM dep WHERE departamento='$departamentos'");
$resultado_cod_departamento=$db->fetch_array($consulta_cod_departamento);
$cod_departamento=$resultado_cod_departamento['iddep'];
$consulta_distrito = $db->consulta("SELECT * FROM distrito where dep_iddep='$cod_departamento'");
echo '<select name="distrito" onChange="submit()"style="position:absolute;left:1 4px;top:65px;width:186px;font-family:Times New Roman;font-size:16px;z-index:2">';
if ($db->num_rows($consulta_distrito)>0){
echo "<option value= '$distrito'>".$distrito.'</option>';
while ($resultado=$db->fetch_array($consulta_distrito)){ echo '<option value= "'.$resultado['distrito'].'">'.$resultado['distrito'].'</option>';
}
}
echo '</select>';
echo '</html>';
echo '</form>';
?>