Jump to content

Truz

New Members
  • Posts

    3
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

Truz's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. mmmmmmmm..... guess no one can help me  :'(
  2. Hey shocker-z thanks for the reply but that didn't work since the problem is not in the "search results for:" part cause that only echoes the same text that you searched for, that is ok, the problem is that for some reason every word you add in the search sends back the information about the same person repeated the same number of times as the words in the search. For example let say you search for James Summers so in the results you'll get ------------------------------------ Search results for: [b]James Summers[/b] -User:JS -Name: [b]James[/b] Summers -User:JS -Name: [b]James Summers[/b] -User:PS -Name: Peter [b]Summers[/b] -User:PS -Name: Peter [b]Summers[/b] --------------------------------- As you can see it returns not only the exact matching words twice (or as many times as words) but also it returns other registries that have one of the searched words twice (or as many times as words) ???. Hope this make the problem clearer thanks ;D
  3. 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]
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.