gpt4 book ai didi

php - MySQL PHP 搜索使用一个输入来搜索多列

转载 作者:行者123 更新时间:2023-11-30 00:15:11 25 4
gpt4 key购买 nike

首先对我的英语感到抱歉,但我会尽力阐明我的想法。我的目标:使用一个输入字段在多列中进行搜索。我将举一个例子,让大家更容易、更清楚地理解。

我有很多不同品牌的CPU。因此,如果我要写“CPU”,它将为我提供所有品牌的所有 CPU,但如果我要继续写“CPU Lenovo”,它将仅向我显示联想品牌的 CPU。因此更多细节可以提供更具体的结果。

这是我的代码:

<?php

require ('connection.php');

if (!empty($_POST['partname'])) {
$search = explode(" ", rtrim($_POST['partname'], " "), 2);

$prlist_name = "";
$prlist_model = "";
foreach ($search AS $s) {

$prlist_name .= "`prlist_name` LIKE '%" . mysql_real_escape_string($s) . "%' AND ";
$prlist_model .= "`prlist_model` LIKE '%" . mysql_real_escape_string($s) . "%' OR ";
}

$prlist_name = substr($prlist_name, 0, -4);
$prlist_model = substr($prlist_model, 0, -4);

$query = mysql_query("SELECT * FROM `prlist` WHERE ($prlist_name) AND ($prlist_model)");

if (mysql_num_rows($query) > 0) {

while ($row = mysql_fetch_assoc($query)) {
echo "<tr>";
echo "<td>" . $row['prlist_name'] . "</td>";
echo "<td>" . $row['prlist_model'] . "</td>";
echo "</tr>";
}
}
} else {
header('Location: index.php');
exit();
}
?>

我的代码的问题是单独搜索。我的意思是,如果我要写“CPU Lenovo”。它会向我展示联想的全部部件。示例:

  1. CPU |联想G580
  2. 内存 |联想T430
  3. CPU |联想Z500

就是这样。谢谢大家:)

最佳答案

SELECT * FROM prlist WHERE MATCH (prlist_name,prlist_model)
AGAINST ('+CPU +Lenovo' IN BOOLEAN MODE);

http://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html

关于php - MySQL PHP 搜索使用一个输入来搜索多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706313/

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