私は、ユーザが検索した単語(または単語)を含むすべての結果を表示しようとしています。私はある範囲で動作するいくつかのコードを持っていますが、余分な単語が一致した結果の最後に追加された場合、結果は返されません。部分一致MySQLクエリ
ユーザが「Fork」を検索した場合、「Fork Parts」と入力した場合は「Fork Parts」というカテゴリがないため、結果は返されません。しかし、「フォーク」という言葉が一致しているので、結果を返すことにします。
function getCat($string) {
global $wpdb;
$cat = $wpdb->get_results("
SELECT *
FROM wpmj8c_term_relationships
LEFT JOIN wpmj8c_term_taxonomy
ON (wpmj8c_term_relationships.term_taxonomy_id = wpmj8c_term_taxonomy.term_taxonomy_id)
LEFT JOIN wpmj8c_terms on wpmj8c_term_taxonomy.term_taxonomy_id = wpmj8c_terms.term_id
WHERE wpmj8c_term_taxonomy.taxonomy = 'product_cat' && wpmj8c_terms.name LIKE '%".$string."%'
GROUP BY wpmj8c_term_taxonomy.term_id
");
echo $cat;
foreach ($cat as $search_result) {
echo '<li><a href="/product-category/'.$search_result->slug.'">'.$search_result->name.'</a></li>';
}
}
<ul>
<?php getCat("Fork"); ?>
</ul>
あなたは、データベース内に何表示する必要があります....あなたのコードは「特別フォークパーツ」または「特別フォーク部品ABC」が、*ない*「フォーク特殊部品」 – hage
を見つけるだろう、私は再単語ことができると思います私が言ったこと。ユーザーが "Fork"を検索した場合、 "Fork Parts"と入力した場合、 "Fork Parts"というカテゴリがないため、結果は返されません。私は、しかし、 "フォーク"が一致したので結果を返すしたいです。 –