Please help with datasearch
Hi, I have created a search by keywords facility.
The problem is it searches by any of the entered words instead of b all of them i.e:
if I search for houses in London, it will return results for houses and esults for all types of properties in London.
Here's my code:
<?php
//WA Database Search (Copyright 2005, WebAssist.com)
//Recordset: buscar_palabras_RS;
//Searchpage: buscaPalabras.php;
//Form: form1;
$WADbSearch1_DefaultWhere = "";
if (!session_id()) session_start();
if ((isset($_POST["WADbSearch1"])) && ($_POST["WADbSearch1"] != "")) {
  $WADbSearch1 = new FilterDef;
  $WADbSearch1->initializeQueryBuilder("MYSQL","1");
  //keyword array declarations
  $KeyArr0 = array("regimen", "localidad", "isla", "tipopropiedad", "zona", "habitaciones", "estado", "metros", "descripcion", "precio", "precio_oferta");
  //comparison list additions
  $WADbSearch1->keywordComparison($KeyArr0,"".((isset($_POST["buscarField"]))?$_POST["buscarField"]:"")  ."","AND","Includes",",%20","%20","%22","%22",0);
  //save the query in a session variable
  if (1 == 1) {
    $_SESSION["WADbSearch1_buscador_palabras"]=$WADbSearch1->whereClause;
  }
}
else     {
  $WADbSearch1 = new FilterDef;
  $WADbSearch1->initializeQueryBuilder("MYSQL","1");
  //get the filter definition from a session variable
  if (1 == 1)     {
    if (isset($_SESSION["WADbSearch1_buscador_palabras"]) && $_SESSION["WADbSearch1_buscador_palabras"] != "")     {
      $WADbSearch1->whereClause = $_SESSION["WADbSearch1_buscador_palabras"];
    }
    else     {
      $WADbSearch1->whereClause = $WADbSearch1_DefaultWhere;
    }
  }
  else     {
    $WADbSearch1->whereClause = $WADbSearch1_DefaultWhere;
  }
}
$WADbSearch1->whereClause = str_replace("\\''", "''", $WADbSearch1->whereClause);
$WADbSearch1whereClause = '';
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
$maxRows_buscar_palabras_RS = 10;
$pageNum_buscar_palabras_RS = 0;
if (isset($_GET['pageNum_buscar_palabras_RS'])) {
  $pageNum_buscar_palabras_RS = $_GET['pageNum_buscar_palabras_RS'];
}
$startRow_buscar_palabras_RS = $pageNum_buscar_palabras_RS * $maxRows_buscar_palabras_RS;
mysql_select_db($database_MySQLconnect, $MySQLconnect);
$query_buscar_palabras_RS = "SELECT * FROM t_propiedades";
setQueryBuilderSource($query_buscar_palabras_RS,$WADbSearch1,false);
$query_limit_buscar_palabras_RS = sprintf("%s LIMIT %d, %d", $query_buscar_palabras_RS, $startRow_buscar_palabras_RS, $maxRows_buscar_palabras_RS);
$buscar_palabras_RS = mysql_query($query_limit_buscar_palabras_RS, $MySQLconnect) or die(mysql_error());
$row_buscar_palabras_RS = mysql_fetch_assoc($buscar_palabras_RS);
if (isset($_GET['totalRows_buscar_palabras_RS'])) {
  $totalRows_buscar_palabras_RS = $_GET['totalRows_buscar_palabras_RS'];
} else {
  $all_buscar_palabras_RS = mysql_query($query_buscar_palabras_RS);
  $totalRows_buscar_palabras_RS = mysql_num_rows($all_buscar_palabras_RS);
}
$totalPages_buscar_palabras_RS = ceil($totalRows_buscar_palabras_RS/$maxRows_buscar_palabras_RS)-1;
?>
Thanks for your help


