Jump to content

Recommended Posts

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

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" .. ((

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 )

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.