donglei2022 2015-12-09 01:23
浏览 22
已采纳

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

well i have a search input on my website ( cars website ) and im using that search input to search only the cars by their brand... lets say Audi, BMW, etc... im wondering if there's a way i can type like:

Audi R8 and instead of showing nothing, it will show that car, like SELECT brand, model FROM cars WHERE brand = firstspace, model=secondspace...

Something like that instead of creating two inputs... so i can only type inside that input the full name Audi R8 Spyder or just Audi R8 and it will show only the R8 models...

Thanks,

  • 写回答

3条回答 默认 最新

  • duanreng3439 2015-12-09 02:44
    关注

    Use this:

     <?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]%'";        
     ?>
    

    Edit 1 with escaping

    <?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%'";  
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?