我有 4 个这样的 MySQL 表;
表格1
========================
id1 | brand | tags
-----+-----------+------
111 | mercedes | xx
-----+-----------+------
222 | mercedes | yy
-----+-----------+------
333 | ford | xx,yy
-----+-----------+------
444 | audi | yy,zz
-----+-----------+------
555 | jaguar | xx,yy,zz
========================
表2
========================
id2 | model | id1
-----+-----------+------
aaa | s class | 111
-----+-----------+------
bbb | figo | 333
-----+-----------+------
ccc | a6 | 444
-----+-----------+------
ddd | xf | 555
-----+-----------+------
eee | a4 | 444
========================
表3
============
id1 | id3
-----+------
111 | xx
-----+------
222 | yy
-----+------
333 | xx
-----+------
333 | yy
-----+------
444 | yy
-----+------
444 | zz
-----+------
555 | xx
-----+------
555 | yy
-----+------
555 | zz
============
表4
==================
id3 | tagdetails
-----+------------
xx | description
-----+------------
yy | description
-----+------------
zz | description
==================
我正在使用品牌进行直接搜索,并使用标签进行反向搜索。当用户搜索品牌时,它会给出直接的结果。但是当用户使用标签(xx、yy 等)进行搜索时,我想首先显示组合。我的意思是,如果用户搜索 xx,那么我想显示xx
, xx,yy
, xx,yy,zz
, 等等。用户可以从中选择一个选项,该选项将显示品牌。
我正在使用 PHP+MySQL。我怎样才能做到这一点?我是否需要更改架构或需要任何其他表?