以及我在我的網站(汽車網站)搜索輸入,即時通訊使用該搜索輸入來搜索他們的品牌只有汽車...可以說奧迪,寶馬等。 ..我想知道是否有一種方式,我可以鍵入像:只有在1輸入多列搜索輸入
奧迪R8,而不是什麼都沒有顯示,它會顯示該車,如 SELECT品牌,模型從汽車WHERE品牌= firstspace,型號=秒空間...
類似的東西,而不是創建兩個輸入...所以我只能在輸入內輸入全名奧迪R8 Spyder或只是奧迪R8,它將只顯示R8型號...
謝謝,
以及我在我的網站(汽車網站)搜索輸入,即時通訊使用該搜索輸入來搜索他們的品牌只有汽車...可以說奧迪,寶馬等。 ..我想知道是否有一種方式,我可以鍵入像:只有在1輸入多列搜索輸入
奧迪R8,而不是什麼都沒有顯示,它會顯示該車,如 SELECT品牌,模型從汽車WHERE品牌= firstspace,型號=秒空間...
類似的東西,而不是創建兩個輸入...所以我只能在輸入內輸入全名奧迪R8 Spyder或只是奧迪R8,它將只顯示R8型號...
謝謝,
使用此:
<?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%'";
?>
嗨嘗試使用PHP的爆炸功能,這樣你就會得到兩個變量。
<?php
$dcs_str = "audi m8";
$dcs_arr = explode(" ",$dcs_str); ?>
當我得到那些2個變量,我如何分別使用它們?像marca = variable1或model = variable2? –
使用foreach循環來使用這些變量。 –
您可以將該輸入分爲兩部分。例如像這樣:
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
你可以使用LIKE。 – momouu
是的,但即時通訊使用此:「選擇*從automoviles WHERE像'$ marca'或模式像'$ marca'或版本像'$ marca'LIMIT $偏移,$限制」;但如果我輸入奧迪R8(它將不會返回任何內容),甚至不包括奧迪R8車型:p但如果我只輸入audi,它將返回車... –
在您的變量前後添加%。 「SELECT * FROM automoviles WHERE像'%$ marca%'或modelo像'%$ marca%'或版本像'%$ marca%'LIMIT $ offset,$ limit」; – momouu