Я разрабатываю панель управления для пользователей, чтобы просматривать статистику и другую информацию, полученную из базы данных MySQL. На одной странице около 10 виджетов, и я беспокоюсь о скорости и эффективности. Виджеты - это базовые сообщения jQuery и ответы JSON ... См. Код ниже. Этот подход в порядке? Или есть способ получше? Также я бы хотел позже импортировать эти виджеты на другие страницы сайта. Как это может быть сделано? Простым решением было бы включить файл JavaScript и его контейнер. Но я хотел бы максимально ограничить код.
ФАЙЛ JavaScript
function getLatest(mode) {ç
$.ajax({
type: "POST",
url: "./demo2/contents/updates/getLatest.php",
data: {mode:mode},
cache: false,
dataType: "json",
success: function(response){
NotifyPage('Retrieved '+response['count']+' records','success');
BlockPortlet('#kt_widget6_tab1_content','Loading..');
HidePortlet(1000,'#kt_widget6_tab1_content');
$("#latestContainer").html(response['data']);
}
});
}
PHP
$count = 0;
$result = db_query($query);
while($row = db_fetch_array($result))
{
$fieldArray["title"] = "title 22";
$fieldArray["shortDesc"] = "Desc";
$fieldArray["icon"] = "item-icon";
$fieldArray["timeAgo"] = "2 hrs ago";
$saveData .= requireToVarArray('templates/itemsLatest.php',$fieldArray);
$count++;
}
$returnArray["data"] = $saveData;
$returnArray["count"] = $count;
echo json_encode($returnArray);
exit;
PHP-файл 2
<a href="#" class="kt-notification__item">
<div class="kt-notification__item-icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1" class="kt-svg-icon kt-svg-icon--brand">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"/>
<path d="M5,3 L6,3 C6.55228475,3 7,3.44771525 7,4 L7,20 C7,20.5522847 6.55228475,21 6,21 L5,21 C4.44771525,21 4,20.5522847 4,20 L4,4 C4,3.44771525 4.44771525,3 5,3 Z M10,3 L11,3 C11.5522847,3 12,3.44771525 12,4 L12,20 C12,20.5522847 11.5522847,21 11,21 L10,21 C9.44771525,21 9,20.5522847 9,20 L9,4 C9,3.44771525 9.44771525,3 10,3 Z" fill="#000000"/>
<rect fill="#000000" opacity="0.3" transform="translate(17.825568, 11.945519) rotate(-19.000000) translate(-17.825568, -11.945519) " x="16.3255682" y="2.94551858" width="3" height="18" rx="1"/>
</g>
</svg>
</div>
<div class="kt-notification__item-details">
<div class="kt-notification__item-title">
<?=$fieldArray["title"]?>
</div>
<div class="kt-notification__item-time">
<?=$fieldArray["timeAgo"]?>
</div>
</div>
</a>