看板 PHP 關於我們 聯絡資訊
相簿table tbl_album a_id //pk a_label //相簿名稱 a_photo_sort // 相片正向排序或逆向排序 0.ASC, 1.DESC 相片table tbl_photos p_id //pk p_sort // 排序 xxxx xxx tbl_album_fk // tabl_album fk 篩選出相片以後 有兩個欄位要給下面要列出的相片當依據 $row['a_id']; $row['a_photo_sort']; $sql = spinrtf("SELECT * FROM tbl_photos WHERE tbl_album_fk = %s ORDER BY p_sort CASE %s WHEN 1 THEN DESC WHEN 0 THEN ASC END" ,$row['a_id'], $row['a_photo_sort']); 我發現CASE WHEN不能直接輸出成THEN ASC或THEN DESC,必須為文字,例如THEN 'ASC' 但SQL不接受ORDER BY 'ASC',所以不知道該怎麼下才能達到我的目的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.163.57
MOONRAKER:你太貪心了,沒有這樣用的。 09/16 15:22
MOONRAKER:$sort = $row['a_photo_sort'] == 1 ? 'DESC' : 'ASC' ; 09/16 15:23
MOONRAKER:然後再 "SELECT ... ORDER BY p_sort $sort" 不就結了! 09/16 15:23