首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在一个输入中使用多列搜索输入

在一个输入中使用多列搜索输入
EN

Stack Overflow用户
提问于 2015-12-09 01:23:18
回答 3查看 47关注 0票数 0

嗯,我在我的网站上有一个搜索输入(汽车网站),我使用这个搜索输入只搜索他们品牌的汽车.比如说奥迪宝马等等..。我想知道是否有一种我可以输入的方法:

奥迪R8,而不是什么都不显示,它将显示汽车,如选择品牌,车型从汽车的品牌=第一空间,model=secondspace.

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

谢谢,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-09 02:44:04

用这个:

代码语言:javascript
运行
复制
 <?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

代码语言:javascript
运行
复制
<?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
EN

Stack Overflow用户

发布于 2015-12-09 01:50:01

嗨,尝试使用爆炸性的php函数,这样你就可以得到两个变量。

代码语言:javascript
运行
复制
<?php
$dcs_str = "audi m8";
$dcs_arr = explode(" ",$dcs_str); ?>
票数 0
EN

Stack Overflow用户

发布于 2015-12-09 01:56:03

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

代码语言:javascript
运行
复制
var input = "Audi R8";
var space = input.indexOf(" ");
var firstspace = input.substring(0, space); // Audi
var secondspace = input.substring(space); // R8

所以您的sql应该是这样的:

代码语言:javascript
运行
复制
SELECT brand, model FROM cars WHERE brand = firstspace, model=secondspace
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34169169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档