所以我有一个表格,可以搜索公司列表,看看该公司是否在网站上注册。
当公司名称为三个或更少的字符时,我可以看到它在数据库中,结果不会显示。
例如,如果公司的名称是"ABB Eutech",并且搜索对象是ABB,则搜索返回0。
但是,如果您搜索Eutech,则搜索会返回结果。
这是我正在使用的代码:
<?php
$out = '';
if ((isset($_POST['companysearch-name'])) && ($_POST['companysearch-name']==NULL)) {
$out .= '<h3>No matches. Please enter a company name.</h3>';
} else if (isset($_POST['companysearch-name'])) {
$queryString = htmlspecialchars($_POST['companysearch-name'],ENT_QUOTES);
if(strlen($queryString) >0) {
$query = $wpdb->get_results("SELECT DISTINCT (company_name) FROM wp_companies WHERE MATCH (company_name) AGAINST ('$queryString')");
$searchStr = "%" . $queryString . "%";
$searchStr = str_replace(" ","%",$searchStr);
$numresults = count($query);
if($query) {
$out .= '<div><ul>';
foreach($query as $result):
$out .= '<li>'.$result->company_name.'</li>';
endforeach;
$out .= '</ul></div>';
$out .= "<p>Is your company on this list? If YES, your company already has the scheme in place and you can setup a donation right now.</p>";
$out .= '<a class="button" href="/donate/"><span>Start Giving</span><b></b></a>';
} else {
$out .= '<h3>No matches found.</h3>';
$out .= "<p>Can't find your employer? They may have only just signed up - <a href='/contact-us/'>contact us</a> and we'll check it out for you.</p>";
}
}
}
?>
收到任何帮助。。。温柔一点,这是我第一次。
要索引的单词的最小和最大长度由ft_min_word_len和ft_max_word_len系统变量。(参见第节5.1.3,"服务器系统变量"。)默认的最小值为四个字符;默认的最大值取决于版本。如果你改变无论是哪种值,都必须重新生成FULLTEXT索引。例如,如果如果要搜索三个字符的单词,可以设置ft_min_word_len变量,方法是在选项中放入以下行文件:[mysqld]ft_min_word_len=3
然后重新启动服务器并重新生成FULLTEXT索引。笔记特别是说明书中关于myisamchk的说明下面的列表。
http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html