来自同一阵列的不同链接?

时间:2013-04-03 03:20:06

标签: php html mysql arrays

这里有一位善意的用户给了我这段代码:

$singles = valley_images();
$groups = valley_group_images();
$images = array_merge($singles, $groups);

$sortArray = array(); 

foreach($images as $image){ 
    foreach($image as $key=>$value){ 
        if(!isset($sortArray[$key])){ 
            $sortArray[$key] = array(); 
        } 
        $sortArray[$key][] = $value; 
    } 
} 

$orderby = "timestamp"; //change this to whatever key you want from the array 

array_multisort($sortArray[$orderby],SORT_DESC,$images); 

foreach($singles as $single) {
    echo '<img src="1/'.$image['album_id'].'/'.$image['code'].'.'.$image['ext'].'"/>';
}

foreach($groups as $group) {
    echo '<img src="groups/'.$image['group_id'].'/'.$image['code'].'.'.$image['ext'].'"/>';
}

现在问题是,我将从2个不同的表,图像和group_images中抓取图像。但是图像存储在“1”文件夹中,而group_images存储在“groups”文件夹中。我如何设置根据具有该代码的表来更改链接,因为代码不会告诉它来自哪个表?

最后两个foreach语句是单独的,没有排序。我不确定如何合并这样的foreach并进行排序。

1 个答案:

答案 0 :(得分:1)

假设这是数据的来源:

$stmt = $conn->prepare("SELECT images.*, group_images.* ORDER BY `timestamp` DESC");

我会将其更改为

$stmt = $conn->prepare("(SELECT images.*, 'single' as db from images) UNION  (SELECT group_images.*, 'group' as db from group_images) ORDER BY `timestamp` DESC");

一切顺利,你应该在输出中使用'db'的数组键来确定链接。

相关问题