2013-04-03 75 views
0

在這裏的一種用戶給了我這個代碼:來自同一陣列的不同鏈接?

$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存儲在「組」文件夾中。由於代碼不會告訴表格來自哪個表格,因此我如何設法根據表格來更改鏈接?

最後2條foreach語句是分開的,沒有排序。我不確定如何合併這樣的foreach並進行排序。假設

+0

一位用戶給了你一些代碼,另一位用戶對它進行了修改。你的角色是什麼?管理? – zerkms

+1

你有2個選項:最好的,編輯$圖像的來源,包括表格。糟糕的替代方案 - 檢查每個圖像與循環中的每個文件夾以確定正確的鏈接。 – 2013-04-03 03:37:02

+0

我編輯$圖像的來源包括第二張表,但它的問題是,它過濾所有的圖像,以便對它們進行排序。我更新了主要帖子。 – Tuccinator

回答

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」的數組鍵的使用輸出來確定鏈接。

+0

好吧我會試試,謝謝!我也只注意到我從未包含SQL查詢。 – Tuccinator