2011-06-14 32 views
2

我很困惑如何決定我在MySQL中採取的方式。在JQuery onchange textfield獲取數據庫數據

我有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 =數字輸入Cat在ID =模型和098x0003,我會得到的結果:

Model  Line  Date 
Cat   X02  2013-03-10 

其在交換中的意思我發送pa rameter Cat098X0003轉換成MYSQL查詢。 嘗試:

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

是startnumber和endnumber整數? – 2011-06-14 10:45:26

+0

我改變了答案。 – 2011-06-22 06:44:57

+0

在另一個評論中,你提到'number'也可能包含字符而不僅包含數字。 然後你喜歡'number'的那個命令?按字母順序排列?首先刪除非數字的數字?還有別的嗎?你必須做出決定,因爲當你想在兩個人之間用'數字'檢索結果時你需要這個順序。沒有定義這個順序'between'是未定義的。 – 2011-06-22 07:27:52

回答

2
SELECT Model,Line, Date FROM Detail_model 
WHERE Model LIKE 'Cat' AND Startnumber <= '098x0003' AND Endnumber >= '098X0003' 

這是我得到的,我得到的結果。

2

如果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 
+0

@chris:我編輯了我的問題 – nunu 2011-06-14 09:05:50

+0

@Chris:有時候開始和結束符由數字和字符組成 – nunu 2011-06-15 03:08:11

+0

@Nunu:那你爲什麼稱它爲「數字」。選擇不是數字的領域極其困難,因爲你如何確定「之間」是什麼。你有表的創建腳本,以便我們可能找到解決方案。 – 2011-06-15 05:36:02