1

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

Kudzie99
  • 33
  • 1
  • 7

0 Answers0