On Tue, 24 May 2011 21:09:34 +0700, "Richard S. Crawford" <rscrawf...@mossroot.com> wrote:

On Tue, May 24, 2011 at 6:51 AM, Paul S <pau...@roadrunner.com> wrote:

I'd like to check a table to retrieve rows for which one field equals one
of a set of values

#get products(fields) in category list
   while ($row = $db_connect->fetch_array($productsincategory_list)) {
      $product = $row ['selection'];
      $fields = "$fields" . " $product,";
   $fields = substr($fields,'',-1);

###### echo "$fields<br><br>";
###### $fields = Prod1, ProD2, Prod3

This ...


$store_result = $db_connect->query("select * from $sql_usertable WHERE
(($sql_usertable.product1 = '($fields)')||( $sql_usertable.product2 =
'($fields)')||($sql_usertable.product3 = '($fields)')) order by id desc
limit $entry, $entries_per_page");

doesn't work. It selects nothing (obviously because no single field equals
' (Prod1, Prod2, Prod3) '). But it's the idea. Can I change the:

= '($fields)'

syntax I'm trying?

The actual select checks more fields for this or that and gets more
complicated so I'd like to keep this as simple
as possible. I would like to do this without UNIONS (in one pass) if
possible (my
dbsql.php doesn't seem to go beyond regular query).

Try "in":

where productx in (Prod1, Prod2, Prod3)

THANKS. You saved me another day of frustration trying UNION! :-)

In addition your answer also got me here:

Using Opera's revolutionary email client: http://www.opera.com/mail/

PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to