首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery UI自动完成,使用PHP搜索2个表

jQuery UI自动完成,使用PHP搜索2个表
EN

Stack Overflow用户
提问于 2014-07-25 17:54:59
回答 2查看 1.1K关注 0票数 0

我有两个表需要搜索,我在这里列出了重要的表和字段:

代码语言:javascript
复制
Table: FAQs
Columns: id, title

Table: FIELD_VALUES
Columns: id, value

因此,基本上,表常见问题包含一个问题“标题”,表FIELD_VALUES包含可以与表常见问题相关的信息。因此,在这种情况下,'value‘是HTML格式的答案。我需要做的是搜索表常见问题中的“标题”,并在表FIELD_VALUES中搜索“值”。然后,它应该只返回唯一的问题‘标题’表常见问题。

我已经从常见问题中返回了“标题”,使用:

代码语言:javascript
复制
SELECT title FROM FAQs WHERE title LIKE '%".$_REQUEST['term']."%'"

这样做可以,但我想我需要做一些形式的联合,然后加入返回标题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-25 18:12:25

我理解这一点,因为你希望在任何情况下都归还这个头衔。如果搜索与常见问题中的标题、FIELD_VALUES中的值匹配,或者两者匹配。那么您应该做一个连接:

代码语言:javascript
复制
SELECT FAQs.title FROM FAQs
JOIN FIELD_VALUES ON FIELD_VALUES.id = FAQs.id
WHERE FAQs.title LIKE '%".$_REQUEST['term']."%' OR
FIELD_VALUES.value LIKE '%".$_REQUEST['term']."%'
票数 1
EN

Stack Overflow用户

发布于 2014-07-25 18:05:13

如果将外键添加到FIELD_VALUES表中,则应该能够实现所需的目标:

Table: FAQs Columns: id, title

Table: FIELD_VALUES Columns: id, faqId_FK, value

那么您的SQL看起来就像:

代码语言:javascript
复制
$title = SELECT * FROM FAQs WHERE title LIKE '%". $_REQUEST['term']."%';
if(empty($title)) {
  $valueId = SELECT faqId_FK FROM FIELD_VALUES WHERE value LIKE '%". $_REQUEST['term']."%';
  if(!empty($valueId)) {
    $title = SELECT title FROM FAQs WHERE id = $valueId;
  }
}  

echo $title

没有表格之间的某种链接,就不可能知道哪些值与哪个标题相匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24961775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档