【问题标题】:Get DB data at JQuery onchange textfield在 JQuery onchange 文本字段中获取数据库数据
【发布时间】:2011-09-14 12:22:06
【问题描述】:

我很困惑如何决定我在 MySQL 中的使用方式。

我有 4 个文本字段:

<input type="text" id="model">
<input type="text" id="number">
<input type="text" id="line">
<input type="text" id="date">

然后是 DB Detail_model 中的一个表:

+---------+-----+-----------+-------------+-----------+
|Model    |Line |Date       |Startnumber  |Endnumber  |
+---------+-----+-----------+-------------+-----------+
|Bear     |X01  |2013-04-26 |098X0001     |098X0100   |
|Cat      |X02  |2013-03-10 |098x0201     |098X0300   |
+---------+-----+-----------+-------------+-----------+

如果我在 id=model 处键入 Cat 并在 id=number 处键入 098x0003,我会得到结果:

Model        Line       Date
Cat          X02        2013-03-10

它的意思是在onchange期间我将参数Cat098X0003发送到MYSQL查询中。 尝试:

SELECT Model,Line, Date FROM Detail_model
WHERE Model LIKE 'Cat' AND .......(How to filter the number) ?

【问题讨论】:

  • startnumber 和 endnumber 是整数吗?
  • 在另一条评论中您提到number 可能还包含字符而不仅仅是数字。那你喜欢number 的哪个顺序呢?按字母顺序?先删除非数字的数字?还有什么?您必须决定这一点,因为当您想在其他两个之间检索带有number 的结果时,您需要该顺序。未定义此订单between 未定义。
  • 为什么我说number 可能不仅包含数字,因为有时 startnumber 和 endnumber 有这样的情况。
  • Chris U 的回答有什么问题?看起来她/他按原样回答了您的问题。请说明建议的查询返回什么结果,并将其与您想要的实际结果进行比较。

标签: mysql select concatenation


【解决方案1】:

如果 startnumber 和 endnumber 是整数,您可以这样选择:

SELECT A.name,B.class, B.address FROM tableA AS A
LEFT JOIN tableB AS B
ON A.name = B.name
WHERE a.number >= b.startnumber AND a.number <= b.endnumber

【讨论】:

  • @Chris:有时 start 和 endnumber 由数字和字符组成
  • @Nunu:那你为什么称它为“数字”。在不是数字的字段中选择区域非常困难,因为您如何确定“之间”是什么。你有表格的创建脚本,以便我们找到解决方案。
  • @Chris:这就像加入两个不同的表。
  • @Nunu:你想加入什么?哪些表?你有表定义吗?
  • @Chris:我已经改变了我的问题。
【解决方案2】:
SELECT Model,Line, Date FROM Detail_model
WHERE Model LIKE 'Cat' AND Startnumber <= '098x0003' AND Endnumber >= '098X0003'

这是我得到的,我得到了结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2011-08-20
    相关资源
    最近更新 更多