search parametr error message

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • kennyola
    Corporal

    • Mar 2007
    • 13

    search parametr error message

    I developed a search engine on my website. But each time i try to seacrh fo a thing in the mysql database i receive : "we dont seem to have the search parameter" as the error message. pls what is the possible error and solution
  • navaldesign
    General & Forum Moderator

    • Oct 2005
    • 12080

    #2
    Re: search parametr error message

    I believe that noone can answer you this question. Even with lots of experience in php/mysql programming one would need to analyze your script and database data to see why the script doesn't return any results.
    Try a step by step debugging: insert a series of echo... / exit; in various parts of your script to be able to see the flow and check if the cortect parameters / variables are passed through all parts of the script.

    Sometimes, even a white space by mistake added to the databased stored info, could be enough to create such problems.
    Navaldesign
    Logger Lite: Low Cost, Customizable, multifeatured Login script
    Instant Download Cart: a Powerfull, Customized, in site, DB driven, e-products Cart
    DBTechnosystems.com Forms, Databases, Shopping Carts, Instant Download Carts, Loggin Systems and more....
    Advanced BlueVoda Form Processor : No coding form processor! Just install and use! Now with built in CAPTCHA!

    Comment

    • kennyola
      Corporal

      • Mar 2007
      • 13

      #3
      Re: search parametr error message

      index.php
      File Type: PHP script text

      This is the php page: www.onitshabusinessdirectory.com/searchproduct.This is the script after succefull connection to the database and the databatable:

      //specify how many results to display per page
      $limit = 10;
      // Get the search variable from URL
      $var = @$_GET['q'] ;
      //trim whitespace from the stored variable
      $trimmed = trim($var);
      //separate key-phrases into keywords
      $trimmed_array = explode(" ",$trimmed);
      // check for an empty string and display a message.
      if ($trimmed == "") {
      $resultmsg = "<p>Search Error</p><p>Please enter a search...</p>" ;
      }
      // check for a search parameter
      if (!isset($var)){
      $resultmsg = "<p>Search Error</p><p>We don't seem to have a search parameter! </p>" ;
      }
      // Build SQL Query for each keyword entered
      foreach ($trimmed_array as $trimm){
      // EDIT HERE and specify your table and field names for the SQL query
      $query = "SELECT * FROM onitsha_product_directory WHERE business_location LIKE '%$trimm%' OR type_of_location like '%$trimm%' OR type_of_business like '%$trimm%' ORDER BY id DESC" ;
      // Execute the query to get number of rows that contain search keywords
      $numresults=mysql_query ($query);
      $row_num_links_main = mysql_num_rows ($numresults);
      // next determine if 's' has been passed to script, if not use 0.
      // 's' is a variable that gets set as we navigate the search result pages.
      if (empty($s)) {
      $s=0;
      }
      // now let's get results.
      $query .= " LIMIT $s,$limit" ;
      $numresults = mysql_query ($query) or die ( "Query couldn't be executed" );
      $row= mysql_fetch_array ($numresults);
      //store record id of every item that contains the keyword in the array we need to do this to avoid display of duplicate search result.
      do{
      $adid_array[] = $row[ 'id' ];
      }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++;
      }
      // now you can display the results returned. But first we will display the search form on the top of the page
      ?>
      <form action="search.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
      // display what the person searched for.
      if( isset ($resultmsg)){
      echo $resultmsg;
      exit();
      }else{
      echo "Search results for: " . $var;
      }
      foreach($newarr as $value){
      // EDIT HERE and specify your table and field names for the SQL query
      $query_value = "SELECT * FROM onitsha_product_directory WHERE id = '$value'";
      $num_value=mysql_query ($query_value);
      $row_linkcat= mysql_fetch_array ($num_value);
      $row_num_links= mysql_num_rows ($num_value);
      //now let's make the keywods bold. To do that we will use preg_replace function.
      //Replace field
      $titlehigh = preg_replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'business_location' ] );
      $linkhigh = preg_replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'type_of_location' ] );
      $linkdesc = preg_replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'type_of_business' ] );
      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);
      $linkdesc = preg_replace( "'($trimm)'si" , "<b> //1</b>" , $linkdesc);
      }
      //end highlight
      ?>
      <p>
      <?php echo $titlehigh; ?><br>
      <?php echo $linkhigh; ?><br>
      <?php echo $linkhigh; ?>
      </p>
      <?php
      } //end foreach $trimmed_array
      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'>Prev ious " .$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>";
      }
      }
      } //end foreach $newarr
      ?>

      Comment

      Working...
      X