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
.



Relevant Pages

  • Re: [PHP] Selecting Rows Based on Row Values Being in Array
    ... I tried query 5 different ways and none return any records except for one ... in the form of an array that I need to compare against ... The array contains 3 of the db row fields in 1 value. ... create one string from them, then it will compare each string in the ...
    (php.general)
  • Re: [PHP] Selecting Rows Based on Row Values Being in Array
    ... # array just to make sure they are clean: ... # This will return a string formated like this. ... the IN part of the SQL statement tells SQL that it is getting a list of values that it should compare the concatvalue against. ...
    (php.general)
  • Re: Comparing 2 strings for matches in any order
    ... > single space delimiter). ... I need to compare to Column A row 2 and so forth. ... > Then the whole process repeats, matching Column B's bear to the array ... > determine that there was a positive match made for that string in ...
    (microsoft.public.access.modulesdaovba)
  • Re: [PHP] Selecting Rows Based on Row Values Being in Array
    ... or separate anything here since my array values will be '7orange50lbs'? ... # This will return a string formated like this. ... the IN part of the SQL statement tells SQL that it is ... getting a list of values that it should compare the concatvalue ...
    (php.general)
  • Re: PHP - I give up.
    ... /* Compares A and B, given auxiliary data AUX, and returns a ... typedef int algo_predicate_func (const void *data, ... SIZE bytes each, using COMPARE for comparisons. ... first element in ARRAY that matches TARGET, ...
    (comp.programming)