Я использую сервер шарда с базой данных MySQL. В этой таблице более 6000 записей. Я пытаюсь получить записи с раскрывающимся списком, используя PHP, но для извлечения требуется больше времени, и я пытался использовать ajax также результат занимает больше времени. Не могли бы вы дать решение, чтобы решить эту проблему.
Это код, который я использовал
<div class="form-group" id="customer-data">
<div class="form-group">
<label>Student</label>
<select class="form-control select2" name="es_id" style="width: 100%;">
<option>Select Student</option>
<?php
$sql_1="SELECT `es_index_number`,`es_full_name` FROM `existing_students`";
$my=$DBConn->selector($sql_1);
while($row = mysqli_fetch_assoc($my))
{
extract($row);
if($es_id==$es_index_number)
echo "<option
value=\"$es_index_number\"selected=\"selected\">$es_full_name - $es_index_number</option>";
else
echo "<option value=\"$es_index_number\">$es_full_name - $es_index_number</option>";
}
?>
</select>
</div>
</div>
И еще один способ, используемый для извлечения записей.
Ajax Код
<script>
$(document).ready(function()
{
$.ajax({
url: 'ajax_get_data.php',
success: function(data){
//alert(data);
$("#customer-data").append(data);
}
})
});
</script>
Ajax PHP Файл
<?php
require_once("../../commonLib.php");
$DBConn = new mySqlDB;
$sql_1="SELECT `es_index_number`,`es_full_name` FROM `existing_students`";
$my=$DBConn->selector($sql_1);
$fetchAllData = $my->fetch_all(MYSQLI_ASSOC);
$createTable ="<label>Student</label>
<select class=\"form-control select2\" name=\"es_id\" style=\"width: 100%;\">";
for($i=0;sizeof($fetchAllData)>$i;$i++)
{
$createTable .= "<option value=\"{$fetchAllData[$i]['es_index_number']}\">{$fetchAllData[$i]['es_full_name']} - {$fetchAllData[$i]['es_index_number']}</option>";
}
$createTable .="</select>";
echo $createTable;
?>