嗯,我在我的网站上有一个搜索输入(汽车网站),我使用这个搜索输入只搜索他们品牌的汽车.比如说奥迪宝马等等..。我想知道是否有一种我可以输入的方法:
奥迪R8,而不是什么都不显示,它将显示汽车,如选择品牌,车型从汽车的品牌=第一空间,model=secondspace.
这样的东西而不是创造两个输入..。所以我只能在输入中输入全名奥迪R8 Spyder或只是奥迪R8,它将只显示R8模型.
谢谢,
发布于 2015-12-09 02:44:04
用这个:
<?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%'";
?>
发布于 2015-12-09 01:50:01
嗨,尝试使用爆炸性的php函数,这样你就可以得到两个变量。
<?php
$dcs_str = "audi m8";
$dcs_arr = explode(" ",$dcs_str); ?>
发布于 2015-12-09 01:56:03
您可以将该输入分为两部分。例如:
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
https://stackoverflow.com/questions/34169169
复制相似问题