Salve ragazzi come da titolo carico una select dinamicamente con ajax, consideriamo che la select ha circa 2500 record ma a caricarsi impiega più di 10 secondi , secondo voi è normale ??? secondo me è dato dal fatto dei 2 cicli eseguiti per caricare array e poi per caricare "option"
cosa posso fare per velocizzarla??? vi lascio parte del codice cosi che possiate dare un'occhiata...
html
codice:
<select name="sel_articoli" id="sel_articoli" data-placeholder="Seleziona Articolo" class="chosen-demo form-control"><option value=""></option></select>
js
codice:
$.ajax({
url:'php/ajax_articoli.php',
data: {Tipo_Sel: "SEL-PREF"},
type:"POST",
dataType: 'json',
success: function(data){
var $i=0;
$.each(data,function(key,val){
$("#sel_articoli").append('<option value="'+val.id+'">'+val.codice+" - "+val.descrizione+'</option>').trigger("chosen:updated");
if (val.id_pref==1){
$('#sel_articoli option:last').addClass('select-pref');
if ($i==0){
$("#sel_articoli").val(val.id);
$i+=1;
}
}
})
$("#sel_articoli").append('<option value="0">Nessuna Selezione</option>').trigger("chosen:updated");
//controllo se ha un valore di default e lo imposto
if (isEmpty(iid)){
//altrimenti lo metto vuoto
if ($i==0){
$("#sel_articoli").val(0);
}
}
else
{
$("#sel_articoli").val(iid);
}
}
});
}
php
codice:
if ($_POST["Tipo_Sel"] == "SEL-PREF")
{
$query = "SELECT *
FROM tb_articoli
WHERE tb_articoli.id_del<>1
ORDER BY id_Pref DESC, codice ASC";
$result = mysqli_query($connect, $query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$data[]=$row;
}
echo json_encode($data);
}
else{
$array_text["msg"]= "Nessun Dato";
$array_text["status"]= "error";
echo json_encode($array_text);
}
}