2017-02-24 54 views
1

开头我有以下MySQL查询,通过10-7000范围内的展位号进行搜索。查询是jquery自动完成的一部分。当用户开始输入字段中的号码时,我想按起始号码进行搜索 - 如果完整号码包含该号码则不行。MySQL - 查询搜索以编号

例如:

用户搜索展位3458当他们开始在字段中输入“3”给他们包含3号(前所有展位号码列表1234,1436 1743。等)。我宁愿让它只显示以打入的数字开始并从中钻取的展位。

下面是代码:

if ($conn) 
{ 
    $ac_term = "%".$_GET['term']."%"; 
    $query = "SELECT * FROM schedule where booth like :term"; 
    $result = $conn->prepare($query); 
    $result->bindValue(":term",$ac_term); 
    $result->execute(); 

回答

1

您目前对搜索词的两端外卡。刚刚从搜索词语开始下降外卡,你应该罚款:

$ac_term = $_GET['term']."%"; 
2

只是不要把百分号开头:

$ac_term = $_GET['term']."%"; 
$query = "SELECT * FROM schedule where booth like :term"; 
$result = $conn->prepare($query); 
$result->bindValue(":term",$ac_term); 
$result->execute(); 

+1使用准备好声明!