gpt4 book ai didi

php - 搜索引擎,当用户想要 'all'时该怎么办

转载 作者:行者123 更新时间:2023-11-29 08:26:05 27 4
gpt4 key购买 nike

我对编程绝对是菜鸟,在过去 10 天左右的时间里,我一直在构建一个“买卖交易”网站。

无论如何,我现在已经能够让人们注册、发布广告并回复他们......但现在我想要一个页面,他们可以在其中搜索广告。

搜索表单适用于 3 个字段,“品牌”、“型号”和“口径”(网站用于枪支)

    <form action="" method="get" autocomplete="off">
I'm looking for a
<input type="text" name="make" class="autosuggestmake" placeholder="Manufacturer"/>
<div class="dropdown">
<ul class="resultmake"></ul>
</div>

<input type="text" name="model" class="autosuggestmodel" placeholder="Model"/>
<div class="dropdown">
<ul class="resultmodel"></ul>
</div>
in
<select name="caliber" >
<option value="*">(Caliber) Any</option>
<option value=".177">.177</option>
<option value=".20">.20</option>
<option value=".22">.22</option>
<option value=".25">.25</option>
</select>
<input type="submit" value="Search" />

这是作为 GET 数据发布的,我用以下代码“捕获”了它:

    $advert = new Advert;
if (empty($_GET) === true){
$adverts = $advert->fetch_all();
} else {
$search_make = $_GET['make'];
$search_model = $_GET['model'];
$search_caliber = $_GET['caliber'];

$adverts = $advert->fetch_results($search_make, $search_model, $search_caliber);
}

我的 fetch_results 查询是这样的:

    class Advert {
public function fetch_results($search_make, $search_model, $search_caliber) {
global $pdo;

$search_caliber = mysql_real_escape_string($search_caliber);
$search_make = mysql_real_escape_string($search_make);
$search_model = mysql_real_escape_string($search_model);

if (empty($search_make) === true){
$search_make = "*";
}

if (empty($search_model) === true){
$search_model = "*";
}

$query = $pdo -> prepare("SELECT * FROM `adverts` WHERE make = '$search_make' AND model = '$search_model' AND caliber = '$search_caliber'");
$query -> execute();

return $query -> fetchAll();
}

在我的最后一个问题上,有人告诉我开始使用 PDO,所以我就这么做了:)

我的问题是,当有人填写我表单上的 make 字段而没有其他内容时,它不会返回任何内容。我想如果 get 变量为空,我会附加一个 * 并且它会返回任何内容,但事实并非如此:( 我一直在搜索,但我认为我的问题是我不知道要搜索的正确单词来查找解决我的问题...

任何帮助将不胜感激。

最佳答案

我自己用这个实现了一个网站,我强烈推荐 Sphinx 。这就是 craigslist 使用的方法。它足够简单,足以满足您的需求,但又足够强大,可以与您一起成长。

另一个选择是 ElasticSearch ,据我所知也非常好。

关于php - 搜索引擎,当用户想要 'all'时该怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871598/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com