Por un lado tenemos el formulario :
Código HTML:
Ver original<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<form name="frmBuscar" action="buscar.php" method="POST"> <input type="text" name="txtTexto" value="" /> <input type="submit" value="Enviar" name="BtnEnviar" />
Y en "buscar.php"
Hace las consultas de de si se busca en categoria + txtTexto y sus diferentes combinaciones :
Código PHP:
Ver original<?php
include("../funciones/conexion.php");
$busqueda=$_POST['txtTexto'];
$categoria=$_POST['txtCategoria'];
$tipo=$HTTP_GET_VARS['tipo'];
$id=$HTTP_GET_VARS['id'];
$ubicacion=$HTTP_GET_VARS['ubicacion'];
{
$sqlBuscar ="MATCH (id,dniCliente,categoria,regimen,tipo,titulo,ubicacion,descripcion,precio,img)
AGAINST ('$busqueda' IN BOOLEAN MODE)
FROM anuncio
WHERE MATCH (id,dniCliente,categoria,regimen,tipo,titulo,ubicacion,descripcion,precio,img)
AGAINST ('$busqueda' IN BOOLEAN MODE) AND id IN (SELECT id FROM anuncio WHERE categoria LIKE '$categoria')";
$_SESSION['consulta']= $sqlBuscar;
}
header("Location: index.php");
Cuando busca solo en categoria la session funciona bien, y se reenvia a index de forma correcta... sin embargo cuando entra en juego el campo $busqueda ... aparece el error
Código PHP:
Ver originalinclude("../funciones/conexion.php");
$limit = 6;
if (!isset($_SESSION['orden'])) {
$_SESSION['orden']='ORDER BY precio ASC';
}
if ( !isset ( $_SESSION['consulta']) ) {
}
else
{
$consulta=$_SESSION['consulta'];
$orden=$_SESSION['orden'];
$pag = (int) $_GET["pag"];
function operacion ()
{
$pag=$pag--;
return $pag;
echo "<a href=\"?pag=$pag\">Anterior</a>";
}
if ($pag < 1)
{
$pag = 1;
}
echo $consulta."<br>";
$offset = ($pag-1) * $limit;
$sql = "(SELECT SQL_CALC_FOUND_ROWS * $consulta $orden LIMIT $offset, $limit,$conexion"or
die("error"); echo $sql."<br>";
$sqlTotal = "SELECT FOUND_ROWS() as total";
$total = $rowTotal["total"];
{
$imagen=$row['img'];
$tipo=$row['tipo'];
$id=$row['id'];
$ubicacion=$row['ubicacion'];
echo "<tr><td> <b>Titulo</b> :".$row['titulo']."<td>";
echo "<td><b> Categoria</b>:".$row['categoria']."<td>";
echo "<td><b> Tipo</b> :<a href='buscar.php?tipo=$tipo'>".$row['tipo']."</a><td>";
if (!empty($row['regimen'])) {
echo "<td><b> Regimen</b> :".$row['regimen']."<td>";
}
echo "<td><b> Ubicacion</b> :<a href='buscar.php?ubicacion=$ubicacion'>".$row['ubicacion']."<td>";
echo "<td><b> Precio</b> :".$row['precio']."€<td>";
echo "<td><a href='buscar.php?id=$id'><img src=../intranet/FotosAnunciosPequenos/$imagen alt='Foto'></a></td></tr>";
}
$totalPag = ceil($total/$limit); if(($pag - 1) > 0) {
echo "<a href='index.php?pag=".($pag-1)."'>Anterior</a> ";
}
for ($i=1; $i<=$totalPag; $i++){
if ($pag == $i) {
echo $pag;
} else {
echo "<a href='index.php?pag=$i'>$i</a> ";
} }
if(($pag + 1)<=$totalPag) {
echo " <a href='index.php?pag=".($pag+1)."'>Siguiente </a>";
}
}
El sistema además tiene un paginado para gestionar la aparición de los resultados. Ya os digo que cuando trabaja solo con txtCategoria funciona bien... ¿En donde está el error?