• Welcome to Simple Machines Community Forum. Please login or sign up.
October 25, 2021, 08:37:20 PM


SMF 2.1 RC4 has been released! Try it out and help us test! :) Read more.

not smf related, how to make order by else order by

Started by shadav, August 11, 2021, 10:23:31 AM

Previous topic - Next topic


ok this is not smf related but I needs help (imagine that) and my normal go to guy isn't responding

how can I write an if statement or else statement for order by
WHERE collections_post.collection_id = "' . $Listing['id'] . '"
                GROUP BY posts.id
                ORDER BY collections_post.sortable ASC'

I need it to order by sortable else if null order by create year

ORDER BY collections_post.sortable ASC'
ORDER BY posts.create_year DESC'


Make $order_by a variable. If using $smcFunc, pass the value in the array.

The query is just a string & can be manipulated at will!   :)
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp


August 11, 2021, 12:21:29 PM #2 Last Edit: August 11, 2021, 12:35:51 PM by shadav
 :laugh: :laugh: :laugh: :laugh: was that even english
sorry but yeah ya lost me...I've no clue what I'm doing here and I tried to google it but came up empty

this at least doesn't give me any errors, but it also doesn't work

CASE WHEN collections_post.sortable = !NULL THEN collections_post.sortable END ASC,
CASE WHEN collections_post.sortable = NULL THEN posts.create_year END DESC'

I think I figured it out, seems to be working
CASE WHEN collections_post.sortable IS NULL THEN posts.create_year
ELSE collections_post.sortable END ASC'

Thank you


If you're using a GROUP BY clause, then you need to be aware of MySQL's "GROUP BY strict mode"