WHERE field = a range of values (value
| From: | Paul S | Date: | Tue, 24 May 2011 13:51:49 +0000 |
| Subject: | WHERE field = a range of values (value | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-313129@lists.php.net to get a copy of this message | ||
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).
--
Using Opera's revolutionary email client: http://www.opera.com/mail/