scrubbicus Posted February 22, 2011 Share Posted February 22, 2011 So I have an array of IDs that I would only like to select from a database table instead of everything in the table. How might I go about doing that? Quote Link to comment https://forums.phpfreaks.com/topic/228517-select-specific-mysql-rows/ Share on other sites More sharing options...
PaulRyan Posted February 22, 2011 Share Posted February 22, 2011 By showing some code first... Regards, PaulRyan. Quote Link to comment https://forums.phpfreaks.com/topic/228517-select-specific-mysql-rows/#findComment-1178268 Share on other sites More sharing options...
rondog Posted February 22, 2011 Share Posted February 22, 2011 there is many ways to go about it. I haven't tested this, but something like this should work <?php $ids = array(1,2,3,5,9); $sql = "SELECT * FROM table WHERE "; foreach ($ids as $value) { $sql .= "id = " . $value . " or "; } $sql = substr($sql,0,-4); echo $sql; // SELECT * FROM table WHERE id = 1 or id = 2 or id = 3 or id = 5 or id = 9 ?> Quote Link to comment https://forums.phpfreaks.com/topic/228517-select-specific-mysql-rows/#findComment-1178281 Share on other sites More sharing options...
Psycho Posted February 22, 2011 Share Posted February 22, 2011 there is many ways to go about it. I haven't tested this, but something like this should work <?php $ids = array(1,2,3,5,9); $sql = "SELECT * FROM table WHERE "; foreach ($ids as $value) { $sql .= "id = " . $value . " or "; } $sql = substr($sql,0,-4); echo $sql; // SELECT * FROM table WHERE id = 1 or id = 2 or id = 3 or id = 5 or id = 9 ?> Yes, there are "many" ways, but that ^^ is not one of the "right" ways. $stringOfIDs = implode(',', $arrayOfIDs); $query = "SELECT * FROM [table_name] WHERE id IN {$stringOfIDs})"; Quote Link to comment https://forums.phpfreaks.com/topic/228517-select-specific-mysql-rows/#findComment-1178282 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.