仅在1个输入中搜索具有多个列的输入

时间:2015-12-09 01:23:19

标签: php jquery ajax search

我在我的网站(汽车网站)上有一个搜索输入,我正在使用该搜索输入来搜索他们的品牌的汽车...让我们说奥迪,宝马等...我想知道是否有'我可以输入的方式:

奥迪R8并没有显示任何东西,它会显示出汽车的样子 SELECT品牌,型号FROM汽车WHERE品牌=第一空间,型号=第二空间......

这样的东西,而不是创建两个输入......所以我只能在输入内输入全名奥迪R8 Spyder或只是奥迪R8,它只显示R8型号......

谢谢,

3 个答案:

答案 0 :(得分:1)

使用此:

 <?php        
       $input = 'Audi R8';
       $arr = explode(' ', $input); //to separate the input
       $sql = "SELECT * FROM automoviles WHERE marca like '%$arr[0]%' or modelo like '%$arr[1]%'";        
 ?>
使用转义

编辑1

<?php 
        $input = 'Audi R8';
        $arr = explode(' ', $input);
        $input1 = mysqli_real_escape_string($conn, $arr[0]);
        $input2 = mysqli_real_escape_string($conn, $arr[1]);

        $sql = "SELECT * FROM automoviles WHERE marca like '%$input1%' or modelo like '%$input2%'";  
?>

答案 1 :(得分:0)

您尝试使用php的爆炸功能,以便获得两个变量。

<?php
$dcs_str = "audi m8";
$dcs_arr = explode(" ",$dcs_str); ?>

答案 2 :(得分:0)

您可以将该输入分成两部分。例如:

var input = "Audi R8";
var space = input.indexOf(" ");
var firstspace = input.substring(0, space); // Audi
var secondspace = input.substring(space); // R8

所以你的sql会是这样的:

SELECT brand, model FROM cars WHERE brand = firstspace, model=secondspace