weixin_33701564 2015-10-16 21:20 采纳率: 0%
浏览 40

Ajax搜索返回问题

I'm trying to make AJAX search calls as the user types a course name...
So far, I have the following problem:

My database design is as follows:

TABLE COURSE (
  Subject VARCHAR,
  Number CHAR(6)
)

Courses such as MATH 101 and BIOL 301B are stored as:
Subject: MATH, Number: 101
Subject: BIOL, Number: 301B

Now the problem is in PHP, I'm querying the db as follows:
SELECT * FROM COURSE WHERE Subject LIKE :subject AND Number LIKE :number

If I use AND in the SELECT statement, then if the user hasn't yet typed the full course title then he would not get any result...
Example Input: math
In that case, I want all the MATH courses to show but since I'm using AND they won't...

Now if I use OR it's a different problem; Example Input: math 200
This will return any courses with Number 200 which is not right!

How do you suggest I resolve this issue?

One solution that I have in mind is to have different functions that handle the searches differently and then combine the results...

  • 写回答

2条回答 默认 最新

  • weixin_33724059 2015-10-16 21:44
    关注

    You can try concatenating the values of columns Subject and Number in the query and then apply LIKE clause on that concatenated string.

    Like this :

    SELECT * FROM `course` WHERE CONCAT(Subject, ' ', Number) LIKE ('%math%');
    
    评论

报告相同问题?

悬赏问题

  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。
  • ¥20 CST怎么把天线放在座椅环境中并仿真
  • ¥15 任务A:大数据平台搭建(容器环境)怎么做呢?