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? 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. 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 ?> 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})"; Link to comment https://forums.phpfreaks.com/topic/228517-select-specific-mysql-rows/#findComment-1178282 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.