我已阅读过很多关于上一个/下一个帖子的帖子,但我仍然非常困难。
我有一个显示图像和相关数据的页面。这是从数据库中获得的。图像位于每个相册的文件夹中的网站文件夹中。因此,图像文件夹可能包含1,2或100个图像。
我对此数据有如下函数: -
function get_images_album($artist_id) {
$artist_id = (int)$artist_id;
$images = array();
$image_query = mysql_query("SELECT `image_album_id`, `member_id`, `artist_id`,
`albumname`, `ext`, `timestamp` FROM `album_images`
WHERE `artist_id`=$artist_id AND `member_id`=".$_SESSION['member_id']);
while ($images_row = mysql_fetch_assoc($image_query)) {
$images[] = array(
'id' => $images_row['image_album_id'],
'album' => $images_row['artist_id'],
'albumname' => $images_row['albumname'],
'ext' => $images_row['ext'],
'timestamp' => $images_row['timestamp']
);
}
return $images;
}
该页面显示localhost上每个url的正确图像和数据。站点/ album_view.php artist_id = 4和;。image_album_id = 4
在html页面上,代码为: -
$images = get_images_album($artist_id);
if (empty($images)) {
echo 'There are no Images in this album.';
}else{
foreach ($images as $key => $val) {
}
}
>
我已经明白,如果我回显$ key和current($ val),我会得到数组索引号。和当前页面的图像ID。在上面的例子中,这将是0和4.但是我总是得到数组的最后一个索引细节,特定专辑恰好是13和2181.
我知道所有的数据都存在,因为我已经回应了数组,一切似乎都没问题。
我不知道为什么。
继续我所拥有的我无法解决如何继续获取下一个和之前的设置谢谢。
答案 0 :(得分:0)
更简单的方法可能是略微更改get_images_album
功能:
function get_images_album($artist_id) {
$artist_id = (int)$artist_id;
$images = array();
$image_query = mysql_query("SELECT `image_album_id`, `member_id`, `artist_id`,
`albumname`, `ext`, `timestamp` FROM `album_images`
WHERE `artist_id`=$artist_id AND `member_id`=".$_SESSION['member_id']);
While ($images_row = mysql_fetch_assoc($image_query)) {
// $images[] = array(
// instead, make your images array a hash and key it on the album_id
$images[$images_row["image_album_id"]] = array(
'id' => $images_row['image_album_id'],
'album' => $images_row['artist_id'],
'albumname' => $images_row['albumname'],
'ext' => $images_row['ext'],
'timestamp' => $images_row['timestamp']
);
}
return $images;
}
现在您可以取消foreach
循环,只需获取您正在寻找的相册:
$images = get_images_album($artist_id);
if (empty($images)) {
echo 'There are no Images in this album.';
}else{
$album_images = $images[$image_album_id];
// do stuff with the $album_images hash
var_dump($album_images);
}