PHP自动完成mysql多字段

时间:2012-06-20 18:58:46

标签: php jquery mysql autocomplete

数据库名称“customdata”

jobNo CustomerName Country     Tel    Item
1      John        USA         045     Mouse
2      Tony        Australia   054     laptop
3      Karuma      India       548     keyboard
4      Anton       Canada      854     Pen
5      Lusinda     Italy       758     Book

不关心数据库数据。

我想在php脚本中添加一个文本字段。当输入“I”时,它应该自动完成 下拉列表框如下

2,Tony,Australia,054,Laptop
3,Kumara,India,548,keyboard
5,Lusinda,Italy,758,book

包含“I”字母的所有行。

下一步“在”

3,Kumara,India,548,keyboard

将保留,其他人将会离开。

我可以尝试使用jquery自动完成。 有人请帮我从表中选择数据并添加到数组

2 个答案:

答案 0 :(得分:0)

试试这个。

$searchVar = $_POST['searchVar'];

$search = "Select `jobNo`, `CustomerName`, `Country`, `Tel`, `Item`
    FROM `customdata` c
    WHERE
    `c`.`CustomerName` LIKE '%$searchVar%' OR
    `c`.`Country` LIKE '%$searchVar%' OR
    `c`.`Item` LIKE '%$searchVar%'";

答案 1 :(得分:0)

这个怎么样?

对于'i'

SELECT * 
FROM customdata
WHERE CONCAT(CustomerName, ' ', Country,' ',Item) like '%i%';

对于'in'

SELECT *
FROM customdata
WHERE CONCAT(CustomerName, ' ', Country,' ',Item) like '%In%';

您只需要在like '%in%'

中进行更改

如果您想要 区分大小写 搜索,请在WHERE语句后使用 BINARY

SELECT *
FROM customdata
WHERE BINARY CONCAT(CustomerName, ' ', Country,' ',Item) like '%In%';

Demo

注意: 当您输入in时,您将获得id=5数据,id=3in存在于CustomerName Lus da。

更新1

在PHP代码中

$mySearch = $_POST['mySearchHTMLVariable'];

$query="SELECT * 
        FROM customdata
        WHERE CONCAT(CustomerName, ' ', Country,' ',Item) like '%$mySearch%'";

请根据您的要求进行更改。