Re: Selecting Rows Based on Row Values Being in Array
| From: | K. Hayes | Date: | Sat, 30 Jun 2007 06:49:56 +0000 |
| Subject: | Re: Selecting Rows Based on Row Values Being in Array | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-258004@lists.php.net to get a copy of this message | ||
Will do. Thanks.
----- Original Message ----- From: "Jim Lucas" <lists@cmsws.com>
To: "kvigor" <k3cheese@insightbb.com>
Cc: <php-general@lists.php.net>
Sent: Saturday, June 30, 2007 1:46 AM
Subject: Re: [PHP] Selecting Rows Based on Row Values Being in Array
kvigor wrote:Hello All, I'm attempting to return rows from a mysql DB based on this criteria: I have a list, in the form of an array that I need to compare against each row in the table. Where theres a match I need that entire row returned.I would suggest approaching the problem with a slightly different thought. just have the sql concat() the columns together and then compare. something like this should do the trick $list = array( '6blue40lbs', '7orange50lbs', '8orange60lbs', '9purple70lbs', ); $SQL = " SELECT * FROM my_Table WHERE CONCAT(value1, value2, value3) IN ('".join("','", $list)."') "; mysql_query($SQL); this should take, for each row in the DB, value1 + value2 + value3 and create one string from them, then it will compare each string in the IN (...) portion to each entry in the $list array(). Let me know if you need any further helpe.g. $varListof 3outOf_10Fields = array(6blue40lbs, 7orange50lbs, 8orange60lbs, 9purple70lbs);The array contains 3 of the db row fields in 1 value. However there are 10 fields/columns in the table. =============== what table looks like | ===============size color weight ROW 1 | value1 | value1 | value1 | value1 | value1 | value1 |So how could I set up a query that would SELECT the entire row, if the row contained $varListof 3outOf_10Fields[1]. Open to any suggestions or work arounds. I'm playing with extract() but code is too crude to even post.