我有一个摄影网站的3个类别页面,这些页面是从mysql数据库动态加载的,并且工作正常,但我想添加子类别或"专辑"在每个类别中。这也需要动态工作,因为该网站是针对没有技术头脑的人。
所以我认为我有一个想法,只是不完全确定如何执行它。在第一个代码块中是如何加载当前图像(减去$ dynamicList中的一堆html gumpf,这在此阶段是不必要的)。 在第二段代码中,我编辑了它以便能够将图像加载到单独的“专辑”中。但是,就目前而言,它会将每张图片加载到每张专辑中。
那么有没有办法使用“GROUP BY”加载仅包含数据库中“album_name”行共享相同值的图像的dynamicLists?
道歉,如果我没有解释自己。任何帮助将不胜感激。
<?php
include "connect_to_mysql.php";
$dynamicList = "";
$sql = mysql_query("SELECT * FROM images WHERE category = 'People' ORDER BY date_added DESC");
while($row = mysql_fetch_array($sql)){
$image = $row["image_name"];
$src_img=imagecreatefromjpeg("photos/thumbs/thumb_".$image);
$date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
$dynamicList .= '<img class="item" src="photos/thumbs/thumb_'.$image.'"/>';
}
mysql_close();
?>
<div id="image_gallery">
<?php echo $dynamicList; ?>
</div>
<?php
include "connect_to_mysql.php";
$dynamicList = "";
$sql = mysql_query("SELECT * FROM images WHERE category = 'People' ORDER BY date_added DESC");
while($row = mysql_fetch_array($sql)){
$image = $row["image_name"];
$src_img=imagecreatefromjpeg("photos/thumbs/thumb_".$image);
$date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
$dynamicList .= '<img class="item" src="photos/thumbs/thumb_'.$image.'"/>';
$album = $row["album_name"];
$albumList .= '<div class="album"><div class="album_title"><h2>'.$album.'</h2></div>'.$dynamicList.'</div>';
}
mysql_close();
?>
<div id="image_gallery">
<?php echo $albumList; ?>
</div>
答案 0 :(得分:0)
这样的东西? (另)
<?php
include "connect_to_mysql.php";
$sql = mysql_query("SELECT * FROM images WHERE category = 'People' ORDER BY date_added DESC");
$albums = array();
while($row = mysql_fetch_array($sql)){
$image = $row["image_name"];
$src_img=imagecreatefromjpeg("photos/thumbs/thumb_".$image);
$date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
$listElement = '<img class="item" src="photos/thumbs/thumb_'.$image.'"/>';
$albums["album_name"][]=$listElement;
}
$anames = array_keys($albums);
$albumList = "";
foreach($anames as $albumName){
$albumList .= '<div class="album"><div class="album_title"><h2>'.$albumName.'</h2></div>'.implode($albums[$albumName]).'</div>';
}
mysql_close();
?>
<div id="image_gallery">
<?php echo $albumList; ?>
</div>
我不认为GROUP BY子句实际上对你有帮助,但如果你知道它们是专辑顺序你可以实现一个不同的解决方案 - 你只需要检查它何时转换到下一个专辑......好吧,既然我正在考虑它,也许这有点简单......