On Tue, May 24, 2011 at 6:51 AM, Paul S <paul.s@xxxxxxxxxxxxxx> 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 ... > > $db_connect->fetch_array($sql_result); > > $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) -- Sláinte, Richard S. Crawford (richard@xxxxxxxxxxxxx) http://www.underpope.com Publisher and Editor in Chief, Daikaijuzine (http://www.daikaijuzine.com)