Я разрабатываю систему управления клиентом для своего рабочего места, используя PHP и MySQL. Каждая страница загружает файл header.php, который содержит, помимо прочего, меню навигации и раскрывающийся список, который динамически загружает все имена клиентов, чтобы я мог быстро перейти к их карточке контакта. Длинные имена сокращены, с полным именем в качестве «заголовка».
Однако на этом этапе каждая страница должна приостановиться, пока загружается список, прежде чем она сможет продолжить загрузку остальной части страницы.
Вот мой код:
<select>
<?
$select = "SELECT id, name FROM customers ORDER BY name ASC";
$query = @mysql_query($select,$con) or die(mysql_error());
while($data = @mysql_fetch_array($query)){
$cust_id = $data['id'];
$cust_name = substr($data['name'], 0, 14);
$cust_name_long = "";
if (strlen($data['name']) >= 15){
$cust_name .= "...";
$cust_name_long = $data['name'];
}
echo '<option title="'.$cust_name_long.'" value="customers-edit.php?id='.$cust_id.'">'.$cust_name.'</option>';
}
?>
</select>
Какой более эффективный способ сделать это, чтобы у меня не было 2-секундной паузы при каждом открытии страницы? Я мог бы согласиться с загрузкой раскрывающегося списка после загрузки остальной части страницы или загрузкой кэшированной версии раскрывающегося списка, если имена клиентов не изменились, или ......? *