Jim,
Please excuse the ignorance, I'm a newbie, but I'm only use to simple
SELECT, INSERT statements.
Your original code: $SQL = "SELECT * FROM my_Table WHERE CONCAT(value1,
value2, value3) IN ('".join("','", $list)."')
OK, I get everything up to the ('''.join(''','''$list).''')
I'm guessing that the .join( ). putting together some values, but I don't
know what
also the .join( ). is to be preceded by something... I don't know what.
//Forgive my ignorance, I'll can get it.
Also the .join( ). what is this doing I looked at the PHP and MySQL function
of each, and haven't seen comparable code.
I'm asking because I don't know where we're telling the code to compare the
values.
You stated...
>>> and create one string from them
Where do I give the name to the string?
So this is where I am so far:
$sql = "SELECT* FROM table WHERE CONCAT(size,color,weight) IN( )";
"Jim Lucas" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> K. Hayes wrote:
>> Will do. Thanks.
>>
>>
>> ----- Original Message ----- From: "Jim Lucas" <[EMAIL PROTECTED]>
>> To: "kvigor" <[EMAIL PROTECTED]>
>> Cc: <[email protected]>
>> 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.
>>>>
>>>> e.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.
>>>>
>>> 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 help
> one other thing, make sure that you run each of the values in the $list
> array() through mysql_real_escape_string(). That way it is all nicely
> encoded for the SQL statement.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php