【发布时间】:2014-03-13 12:06:06
【问题描述】:
我有一个只有几列的小表,其中之一是将有关类别的信息存储为 INT(只是一个简单的数字),例如。
id | name | category
11 | one file | 1
15 | some other file | 2
当在整个站点显示数据时,我只是将类别的数字转换为存储在 PHP 数组中的值:
$swm_array = array(
'1' => 'Electrical',
'2' => 'HVAC',
'3' => 'Plumbing',
);
使用 LIKE 运算符搜索表格时,如果我输入一个数字,我可以很容易地找到类别。我需要的是实际输入类别的值,而不是它的键,然后根据表中的条目找到它。我一直在尝试使用完全奇怪的东西将数组包含在搜索中,但没有成功。
在这里,在这些论坛中找到一条线索:在查询中内爆,但我无法提取它。
如果你们能在这里帮助我,我将永远感激不尽:)
我的 SQL 查询:
SELECT DISTINCT
`swm_id`,
`name`,
`desc1`,
`category`,
`file`
FROM
`swims`
WHERE
(
`name` LIKE '%".$q."%'
OR `desc1` LIKE '%".$q."%'
OR `file` LIKE '%".$q."%'
OR `swm_id` LIKE '%".$q."%'
**OR `category` LIKE '%".$q."%'**
)
AND `active` = '1'
非常感谢!
问候, 格雷格
【问题讨论】:
-
我建议您使用另一个表来存储由您正在使用的类别编号键入并包含类别名称的类别。然后你可以将你的游泳表加入到这个类别表中,并从那里检查类别名称。