Whats wrong with this?? Its not working.......

>>Search.php

<?php include("search_bool.inc"); ?>
<?php

$connection = mysql_connect("$host","$dbusername","$dbpassword") or die 
("Cannot connect to server.");
$db = mysql_select_db("$dbname", $connection) or die ("Could not select 
database.");
$sqlstring = "SELECT * FROM $searchsection WHERE 
".makeboolean("keyword",$search);

$result = mysql_query($sqlstring, $connection) or die ("Could not execute 
query.");

if (!$result) {
  echo "<p>Could not get record.";
}

if(mysql_num_rows($result)) {
  $uid = 1;
  while($row = mysql_fetch_row($result))
  {

   print("<font face=\"Verdana\" size=\"1\"><b><a href=\"#\" 
onclick=\"window.open('./view_ep.php3?news_id=$row[0]','','width=490,height=280');\">$row[1]</a></b><br><br>$row[2]</font></small><p>");

$uid++;
  }

}

?>




>>Search Boolean file I was told to use

## I don't even get these instructions!! *lol*
## usage: makeboolean("fieldname",$searchstring)
## ie: $sqlstring = "SELECT * FROM table WHERE 
".makeboolean("field",$search);


class Query {
   var $m_words;
   var $m_logic;

   function Query($logic, $words) {
      $logic = " ".$logic." ";
      $this->m_words = $words;
      $this->m_logic = $logic;
   }
};

class phpSQLbool {
   var $m_Querys;
   var $m_start;
   var $m_offset;
   var $m_wordmatch;
   var $m_casematch;

   function QueryGenerator($Querys, $wordmatch=false, $casematch=false) {
      $this->m_Querys = $Querys;
      $this->m_wordmatch = $wordmatch;
      $this->m_casematch = $casematch;
      $this->Restrict(0,0);
   }

   function Restrict($start, $offset) {
      $this->m_start  = $start;
      $this->m_offset = $offset;
   }

   function GetRestrict(&$start, &$offset) {
      $start = $this->m_start;
      $offset = $this->m_offset;
   }

   function GetQueryString($searchfield) {
      // $query_string = "SELECT $resultfield FROM $table WHERE ";
      $query_string .= $this->BuildQueryString($table, $searchfield);
      if ($this->m_start || $this->m_offset) {
         $query_string .= "LIMIT $this->m_start";
         if($this->m_offset)
         $query_string .= ",$this->m_offset";
      }
      return $query_string;
   }

   function GetCountQueryString($table, $searchfield) {
      $query_string = "SELECT count(*) FROM $table WHERE ";
      $query_string .= $this->BuildQueryString($table, $searchfield);
      return $query_string;
   }


   function BuildQueryString($table, $searchfield) {
      $searchfields = explode(",", $searchfield);
      if(!is_array($searchfields))
         $searchfields=array($searchfield);
         while ($searchfield = current($searchfields)) {
            if (!$this->m_casematch)
               $searchfield = $searchfield;
            $firstquery = true;
            reset($this->m_Querys);
            while($query = current($this->m_Querys)) {
               if ($firstquery)
                  $firstquery=false;
               else if ($query->m_logic == "NOT")
                  $query_string .="AND ";
               else
                  $query_string .=$query->m_logic;
               $query_string .= $this->BuildWhereClause($searchfield, 
$query);
               next($this->m_Querys);
            }
            if (next($searchfields))
               $query_string .= "OR";
      }
      return $query_string;
   }

   function BuildWhereClause($searchfield, $query) {
      while($word = current($query->m_words)) {
         if (!$this->m_casematch)
            $word = sql_regcase($word);
         if ($this->m_wordmatch)
            $search_type = "REGEXP '[[:<:]]".$word."[[:>:]]'";
         else
            $search_type = "REGEXP '$word'";
         if ($query->m_logic == "NOT")
            $query_string.="$searchfield NOT ";
         else
            $query_string.="$searchfield ";
         $query_string.= $search_type;
         if (next($query->m_words))
            $query_string.=" OR ";
      }
      return $query_string;
   }
};


function makeboolean($field, $keywords) {
   $words = explode(" ", $keywords);
   for ($i=0; $i < count($words); $i++) {
      $query[] = new Query("AND", array(trim($words[$i])));
   }

   $querygen = new phpSQLbool($query);
   $query =  $querygen->GetQueryString($field);

   return $query;
}
?>

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to