编程语言
首页 > 编程语言> > PHP-从多个表自动完成

PHP-从多个表自动完成

作者:互联网

我想知道从多个表中获取自动完成结果的最有效方法是什么?

警告:我希望能够从什么表中识别记录.

例如,给定这些示例表:

+- People
   +- id
   +- name
   +- age

+- Places
   +- id
   +- name
   +- distance

+- Things
   +- id
   +- name
   +- color

虽然包含一些对此问题任意的数据,但这里的主要焦点是名称列(尽管这些可以是其他名称,或者每个表查询多个)

无论如何,我试图找出如何在这些表中的每一个查询数据以实现自动完成,并从该表返回数据.例如,字母A的输出可能类似于以下内容:

Apple (Things)
Amy (People)
Aaron (People)
Anaheim (Places)
Axe (Things)

使用单个查询或跨各个表的多个查询是否可以最好地实现这一点?

提前致谢 :)

解决方法:

您可以在单个查询中使用union来实现:

SELECT name, 'Things' as source FROM Things WHERE name LIKE 'A%'
UNION ALL
SELECT name, 'People' as source FROM People WHERE name LIKE 'A%'
UNION ALL
SELECT name, 'Places' as source FROM Places WHERE name LIKE 'A%'

现在,您将同时获得匹配的名称和源表,并且可以为自动完成的下拉菜单添加很好的格式.

标签:multiple-tables,autocomplete,mysql,php
来源: https://codeday.me/bug/20191102/1994913.html