I'm trying to run a search query for a blog site I'm working on, I used the explode function to separate my search string and as a result when I loop the results I get duplicate results. The code is as follows
}}else{
$searchbit= explode(" ", $searchterm);
foreach($searchbit as $value){
$metaphonebit =metaphone($value);
$sql = "SELECT blogcontent.title,
blogcontent.content,
blogcontent.blogtimestamp,
blogcontent.views,
blogcontent.image,
blogcontent.author,
blogcontent.tdate,
blogcontent.category,
blogcontent.tags,
categories.banner,
blogcontent.id,
categories.color,
metatext.metatitle,
categories.name
FROM blogcontent
JOIN categories ON blogcontent.category = categories.name
JOIN metatext ON metatext.metaid = blogcontent.id
WHERE (metatext.metatitle LIKE :metaphonebit
OR metatext.metatags LIKE :metaphonebit
OR metatext.metacategory LIKE :metaphonebit )";
$query = $con -> prepare($sql);
$query->bindValue(':metaphonebit', '%' . $metaphonebit . '%');
$query->execute();
$results=$query->fetchall(PDO::FETCH_OBJ);
if($query->rowCount() > 0) {
foreach($results as $result){ echo htmlentities($result->title);
echo htmlentities($result->category);
}
so when I run that, and i search for something like Smith Will, I get 2 results like
Will Smith Will Smith