Hey all I found this Tutorial [url=http://www.devpapers.com/article/306]http://www.devpapers.com/article/306[/url] which show a really easy way to do a database search engine and it works perfectly....well maybe not that "perfectly" ;D. The problem is that when I search Names of people in my database it gets all messed up since it returns the same name Repeated for each part of the name searched so I was Wondering if anyone could help me I’ve made an example you can find it here [url=http://oskulostudios.com/example/searchexample.php]http://oskulostudios.com/example/searchexample.php[/url] just type "Rodrigo" in the search box to see how it does work if you search only one word at the time and then search for "Rodrigo Example" to see the bug that returns the same database name twice for each name like this: -Rodrigo Example -Rodrigo Example And if you add another word to the search like "Rodrigo Example 3" it returns each record three times. I'm also pasting the example code below. Thanks I appreciate any replies. [code=php:0] <?PHP $limit = 5; $var = @$_GET['q'] ; $trimmed = trim($var); $trimmed_array = explode(" ",$trimmed); if ($trimmed == "") { $resultmsg = "<p>Search Error</p><p>Please enter a search...</p>" ; } if (!isset($var)){ $resultmsg = "<p>Search Error</p><p>We don't seem to have a search parameter! </p>" ; } foreach ($trimmed_array as $trimm){ $query = "SELECT * FROM table WHERE user LIKE \"%$trimm%\" OR name LIKE \"%$trimm%\" ORDER BY user DESC" ; $numresults=mysql_query ($query); $row_num_links_main =mysql_num_rows ($numresults); if (empty($s)) { $s=0; } $query .= " LIMIT $s,$limit" ; $numresults = mysql_query ($query) or die ( "Couldn't execute query" ); $row= mysql_fetch_array ($numresults); //This is supposed to store record id of every item that contains the keyword in the array to avoid display of duplicate search result. do{ $adid_array[] = $row[ 'userno' ]; }while( $row= mysql_fetch_array($numresults)); } //end foreach if($row_num_links_main == 0 && $row_set_num == 0){ $resultmsg = "<p>Search results for:" . $trimmed ."</p><p>Sorry, your search returned zero results</p>" ; } //delete duplicate record id's from the array. To do this we will use array_unique function $tmparr = array_unique($adid_array); $i=0; foreach ($tmparr as $v) { $newarr[$i] = $v; $i++; } ?> <form action="searchexample.php" method="get" name="search"> <div align="center"> <input name="q" type="text" value=" <?php echo $q; ?> " size="15"> <input name="search" type="submit" value="Search"> </div> </form> <?php if( isset ($resultmsg)){ echo $resultmsg; exit(); }else{ echo "Search results for: " . $var; } foreach($newarr as $value){ $query_value = "SELECT * FROM table WHERE userno = '$value'"; $num_value=mysql_query ($query_value); $row_linkcat= mysql_fetch_array ($num_value); $row_num_links= mysql_num_rows ($num_value); $row_linkcat[ 'field1' ] $titlehigh = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'user' ] ); $linkhigh = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'nombre' ] ); foreach($trimmed_array as $trimm){ if($trimm != 'b' ){ $titlehigh = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $titlehigh); $linkhigh = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $linkhigh); } ?> <p> <?php echo $titlehigh; ?><br> <?php echo $linkhigh; ?><br> </p> <?php } //end foreach $trimmed_array } //end foreach $newarr if($row_num_links_main > $limit){ // next we need to do the links to other search result pages if ($s>=1) { // do not display previous link if 's' is '0' $prevs=($s-$limit); echo "<div align='left'><a href='$PHP_SELF?s=$prevs&q=$var&catid=$catid'>Previous " .$limit. "</a></div>"; } // check to see if last page $slimit =$s+$limit; if (!($slimit >= $row_num_links_main) && $row_num_links_main!=1) { // not last page so display next link $n=$s+$limit; echo "<div align='right'><a href='$PHP_SELF?s=$n&q=$var&catid=$catid'>Next " .$limit. "</a></div>"; } } ?> [/code]