crashmaster Posted March 23, 2009 Share Posted March 23, 2009 Hi there, have 1 problem. For.ex: I have a $str = '11,23,5,15'; I use this $str in mysql SQL query: mysql_query(" SELECT * FROM tab_table WHERE id IN (".$str.") "); but when I am echoing results, results are ordered by id asc (5,11,15,23)... Hot to make query like this without reordering IDs ??? I need ID order like in $str Thank you for any help or suggestion Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/ Share on other sites More sharing options...
trq Posted March 23, 2009 Share Posted March 23, 2009 mysql_query(" SELECT * FROM tab_table WHERE id IN (".$str.") ORDER BY id "); Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/#findComment-791472 Share on other sites More sharing options...
crashmaster Posted March 23, 2009 Author Share Posted March 23, 2009 mysql_query(" SELECT * FROM tab_table WHERE id IN (".$str.") ORDER BY id "); without result...doesnt work. Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/#findComment-791474 Share on other sites More sharing options...
Maq Posted March 23, 2009 Share Posted March 23, 2009 Try this and tell me if there is any errors: mysql_query("SELECT * FROM tab_table WHERE id IN (".$str.") ORDER BY id") or die(mysql_error()); Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/#findComment-791478 Share on other sites More sharing options...
trq Posted March 23, 2009 Share Posted March 23, 2009 Actually, having re-read the question. mysql_query(" SELECT * FROM tab_table WHERE id IN ($str) ORDER BY FIELD(id,$str); "); should do it. Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/#findComment-791480 Share on other sites More sharing options...
crashmaster Posted March 23, 2009 Author Share Posted March 23, 2009 Try this and tell me if there is any errors: mysql_query("SELECT * FROM tab_table WHERE id IN (".$str.") ORDER BY id") or die(mysql_error()); without any error.. Query accepted by sql engine without any problem.. by order is stil "BY id ASC" .. (( Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/#findComment-791484 Share on other sites More sharing options...
crashmaster Posted March 23, 2009 Author Share Posted March 23, 2009 Actually, having re-read the question. mysql_query(" SELECT * FROM tab_table WHERE id IN ($str) ORDER BY FIELD(id,$str); "); should do it. Works !! Thx a lot ) Link to comment https://forums.phpfreaks.com/topic/150658-solved-query-withour-order/#findComment-791487 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.