PHP,从相册中检索特定图像作为该特定相册的缩略图

标签 php html css

  $albums = get_albums_gallery();  
    foreach($albums as $album){
    $album_id = $album['id'];
    echo $album_id;   

    $images = get_images_gallery($album_id);
    echo '<p>',$album['event'],'(', $album['count'],'images) <br>
    ',$album['description'],'...<br>
    / 
    </p><img src="admin/uploads/',
$images['album'],'/',$images['id'],'.',
$images['ext'],'"title="Uploaded',
date(' DM Y/h:i',$images['timestamp']),
'"alt="hello" height="100px" width="100px"/>
    '
    ;
    }

上面的“img”应该显示相册中的一张图像作为循环播放的相册的缩略图。然而 $images['album'],$mages['id'] 等似乎都是 undefined index 。我已经包含了必要的连接文件。 get_albums_gallery() 的代码

function get_albums_gallery(){

$albums = array();

$albums_query = mysql_query("
SELECT `albums`.`album_id`, `albums`.`timestamp`,`albums`.`event`,`albums`.`name`,        LEFT(`albums`.`description`,50) as `description`, COUNT(`images`.`image_id`) as   `       image_count`
FROM `albums`
LEFT JOIN `images` 
ON `albums`.`album_id` = `images`.`album_id`
GROUP BY `albums`.`album_id`
");     

while($albums_row = mysql_fetch_assoc($albums_query)){
$albums[] = array(
'id' => $albums_row['album_id'],
'timestamp' => $albums_row['timestamp'],
'name' => $albums_row['name'],
'description' => $albums_row['description'],
'count' => $albums_row['image_count'],
'event' => $albums_row['event']
);
}  
return $albums;
}

和 get_images_gallery() 的代码

function get_images_gallery($album_id){
$album_id = (int)$album_id;
$images = array();

$image_query = mysql_query("SELECT `image_id`, `album_id`,`timestamp`,`ext` FROM      `images` WHERE `album_id`=$album_id");
while($images_row = mysql_fetch_assoc($image_query)){
$images[] = array(
'id' =>   $images_row['image_id'],
'album'=>  $images_row['album_id'],
'timestamp'=> $images_row['timestamp'],
'ext' =>  $images_row['ext']
);
}
return $images;
}

我不知道我哪里做错了,因为我已经在 get_images_gallery($album_id) 中传递了一个有效的 $album_id 参数。包含 $album['event'] 的行工作正常,直到它到达 img 标记并且我收到 undefined index 错误。提前致谢

最佳答案

我告诉你哪里出了问题。您使用 get_images_gallery 函数返回一个包含数组的数组。 您使用 foreach 遍历 albums 数组并且仅遍历 albums 所以您可以做些什么来使您的代码工作是这样的:

</p><img src="admin/uploads/',
$images[0]['album'],'/',$images[0]['id'],'.',
$images[0]['ext'],'"title="Uploaded',
date(' DM Y/h:i',$images[0]['timestamp']),
'"alt="hello" height="100px" width="100px"/>

如果这没有为您提供所需的输出,您必须再次迭代 albums 循环中的图像

关于PHP,从相册中检索特定图像作为该特定相册的缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915043/

相关文章:

php - Mysql查询速度太慢了

php - 有什么方法可以捕获页面刷新并暂停它吗?

php - 使用新 API 加载 vimeo 高清缩略图

javascript - "required"验证在 JavaScript 中不起作用

javascript - 将 ":"替换为 "-",同时格式化 mac 地址

php - laravel 5.3 中未定义路由 [ payment-data ]

javascript - 如何交换图像

css - Vuetify 中的 BootstrapVue b-form-checkbox&radio 垂直中心?

javascript - JQuery onchange 在 jsfiddle 中工作多次但在浏览器中只工作一次

javascript - 如何让轮播中的中间元素增加宽度并显示更多信息?