我目前正在这个网站上工作,我需要一些关于 php 和 ajax 的帮助。如果这是一个简单的解决方法,我深表歉意,但我已经到处寻找,但找不到解决方案。
无论如何,左侧的链接使用 ajax 加载右侧的内容。那是容易的部分。'gallery' 下的子链接会加载这样的 php 文件:
<?php
include "connect_to_mysql.php";
include_once("classes/category.class.php");
include_once("classes/album.class.php");
include_once("classes/images.class.php");
$category = new category();
$categories = $category->loadAbstract();
?>
<div id="image_gallery">
<?php
foreach ($categories as $category) {
if ($category->hasAlbums()) {
foreach ($category->albums as $album) {
echo '<div class="album_container">';
echo '<div class="sublinks" onClick="loadAlbum(\''.$album->getId().'\')">
<h4>'.$album->getName().'</h4>
</div>';
}
}
}
?>
</div>
<script>
function loadAlbum(Id) {
$.ajax({
type: 'POST',
url: 'loadalbum.php',
data: "selectedAlbum="+Id,
success: function(result) {
$("#"+Id).html(result);
}
});
</script>
显然,这调用了 loadalbum.php,我必须添加相同的包括:
<?php
include "connect_to_mysql.php";
include_once("classes/category.class.php");
include_once("classes/album.class.php");
include_once("classes/images.class.php");
$selectedAlbum=$_POST['selectedAlbum'];
?>
问题是每次我在左侧选择不同的类别时,它都必须调用这些类,然后当从该类别中选择专辑时,再次调用这些类。这大大减慢了加载时间,因为它必须不断从数据库中检索数据。
如果专辑已经加载,我会使用一些 javascript 来阻止它加载专辑,但是一旦在左侧选择了不同的链接,它就会返回到第一个方框。
有没有办法在网页打开时加载我的所有类,然后在我的 php 文件通过 ajax 加载时引用它们?
提前致谢!