我有搜索表单,用户输入搜索记录。
有3个字段Firm Name
,City
,Country
,
当用户键入公司名称时,它会根据公司名称以及City
和Country
显示结果。
这是我的查询:
Select `firm_name`, `address1`, `address2`,
`address3`, `address4`, `cityname`, `phone1`
from `firms_detail`
WHERE `firm_name` LIKE '%$firmname%'
AND `cityname` LIKE '%$firmcity%'
AND `countryname` LIKE '%$firmcountry%'
现在我已按字母顺序在搜索表单搜索中添加字段,如果用户选择A或C之类的Alphadate并单击“搜索”按钮,那么它应该是以A还是C开头的公司名称记录?
我如何更改查询?或者我应该为它写单独的查询?
答案 0 :(得分:0)
我认为这就是你所追求的目标:
`firm_name` LIKE '$Alphadate%$firmname%'
或强>
Select `firm_name`, `address1`, `address2`, `address3`, `address4`, `cityname`, `phone1`
from `firms_detail`
WHERE `firm_name` LIKE '%$firmname%'
AND `cityname` LIKE '%$firmcity%'
AND `countryname` LIKE '%$firmcountry%'
AND `firm_name` LIKE '$Alphadate%'
ORDER BY `firm_name`
答案 1 :(得分:0)
您可以从数据库中获取结果并通过它们进行过滤(这看起来有点奇怪)。
否则,您必须在数据库记录上执行正则表达式。
您应该告诉您的查询搜索firmname
等于用'C'
加注星标的内容或用户输入的任何其他字母的记录。
因此我们有一个SELECT语句:
SELECT * FROM tableName
然后其余部分:
WHERE firmname regexp '^C'
作为完整陈述:
SELECT * FROM firmname WHERE firmname regexp '^C'
此处的密钥更改为^
,这是与字符串开头匹配的正则表达式。
答案 2 :(得分:0)
Select `firm_name`, `address1`, `address2`,
`address3`, `address4`, `cityname`, `phone1`
from `firms_detail`
WHERE `firm_name` LIKE '%$firmname%'
AND `cityname` LIKE '%$firmcity%'
AND `countryname` LIKE '%$firmcountry%'
order by firm_name
Use order by to order the data based on input.
答案 3 :(得分:0)
您只需使用以下查询即可按字母顺序获取结果:
选择firm_name
,address1
,address2
,
address3
,address4
,cityname
,phone1
来自firms_detail
firm_name
LIKE'%$ firmname%'
和cityname
LIKE'%$ firmcity%'
和countryname
LIKE'%$ firmcountry%'
由firm_name订购
如果您想使用firm_name等字母顺序,具体取决于您想要按字母顺序使用的内容。那就是它。
答案 4 :(得分:0)
只需在查询结尾添加order by firm_name,cityname,countryname
。