Tengo un script que me permite hacer combos multinivel para manejar paises, provincias y ciudades.
Pero le he encontrado un error que no se como resolverlo, el problema es que cuando seleccionas el pais de Maxico (por ejemplo) y luego la provincia Distrito Federal, en la lista de ciudades se lista no solamente el Distrito Federal de Mexico, sino tambien el de otros paises como Venezuela.
Revisando el script veo que el problema está en el query que hace el select pues no está considerando el pais que he seleccionado sino que me trae todas las ciudades asociadas a la provincia.
Este es el codigo:
Código PHP:
<?php
class selects extends MySQL
{
var $code = "";
function cargarPaises()
{
$consulta = parent::consulta("SELECT Name,Code FROM jos_support_country ORDER BY Name ASC");
$num_total_registros = parent::num_rows($consulta);
if($num_total_registros>0)
{
$paises = array();
while($pais = parent::fetch_assoc($consulta))
{
$code = $pais["Code"];
$name = $pais["Name"];
$paises[$code]=$name;
}
return $paises;
}
else
{
return false;
}
}
function cargarEstados()
{
$consulta = parent::consulta("SELECT Name FROM jos_support_province WHERE Country = '".$this->code."'");
$num_total_registros = parent::num_rows($consulta);
if($num_total_registros>0)
{
$estados = array();
while($estado = parent::fetch_assoc($consulta))
{
$name = $estado["Name"];
$estados[$name]=$name;
}
return $estados;
}
else
{
return false;
}
}
function cargarCiudades()
{
$consulta = parent::consulta("SELECT Name FROM jos_support_city WHERE Province = '".$this->code."'");
$num_total_registros = parent::num_rows($consulta);
echo $this->code;
if($num_total_registros>0)
{
$ciudades = array();
while($ciudad = parent::fetch_assoc($consulta))
{
$name = $ciudad["Name"];
$ciudades[$name]=$name;
}
return $ciudades;
}
else
{
return false;
}
}
}
?>