Tengo el tipico select de paises, provincias y ciudades, donde se van activando de acuardo a la selección de los select padres... bla,bla,bla....
El problema que tengo es que cuando cargo el select con las provincias que en mi caso lo llamo estados aparecen en el orden que se ingresaron a la base de datos, en la consulta SQL está ordenado por nombre y al imprimir print_r(json_encode($estado)); por pantalla se muestran ordenados como están en la cosulta, pero al cargar el select aparecen ordenados en el miso orden que se ingresaron a la base de datos...
Lo que necesito es que me salga ordenado como lo tengo en la consulta sql es decir por nombre.
Aquí pongo el codigo PHP donde llamo la consulta sql y la cargo en el JSON:
Código PHP:
require_once("core/models/class.Consultas.php");
$db = new Consultas();
$codigo_pais = $_REQUEST['pais'];
$sql_estado = $db->Sql_Estado($codigo_pais);
if(!empty($sql_estado)){
$estado = array();
$estado[0] = ['Estado - Provincia'];
foreach($sql_estado as $row){
$estado[$row['id_estado']] = $row['nombre_est'];
}
print_r(json_encode($estado));
}
Código Javascript:
Ver original
<div class="selector-estado"> <select class="form-control" id="form-field-select-2"></select> <script type="text/javascript"> $(document).ready(function() { $(".selector-pais select").change(function() { $(".selector-estado select").empty(); $.getJSON('?view=getestado&pais='+$(".selector-pais select").val(),function(data){ $.each(data, function(id,value){ $(".selector-estado select").append('<option value="'+id+'">'+value+'</option>'); }); }); }); }); </script> </div>
Muchas gracias por su ayuda.