en estos momentos generé un formulario en el cual tengo un textbox que se encarga de filtrar una tabla que jalo desde una base de datos mysql según la palabra que escriba, sin embargo si escribo por ejemplo "Plantas", me filtra la consulta sin problemas pero si quiero hacer otro filtro consecutivo como por ejemplo "Estípulas", me borra el primer filtro que hice y ahora sólo me toma el segundo filtro.
* Lo que quisiera hacer es que me dejara el primer filtro y ahora a su vez se sumara un segundo filtro y así sucesivamente, es decir, ir haciendo filtros sobre filtros.
index.php
Código HTML:
Ver original
busqueda.php
Código PHP:
<?php
include('conexion_mysql.php');
$busqueda=$_POST['busqueda'];
if ($busqueda<>''){
//numero de palabras
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
$cadbusca="SELECT * FROM cat_estado_copy WHERE estado LIKE '%$busqueda%' OR estado_dsc LIKE '%$busqueda%';";
} elseif ($numero>1) {
$cadbusca="SELECT * , MATCH ( estado, estado_dsc ) AGAINST ( '$busqueda' ) FROM cat_estado_copy WHERE MATCH ( estado, estado_dsc ) AGAINST ( '$busqueda' );";
}
function limitarPalabras($cadena, $longitud, $elipsis = "..."){
$palabras = explode(' ', $cadena);
if (count($palabras) > $longitud)
return implode(' ', array_slice($palabras, 0, $longitud)) . $elipsis;
else
return $cadena;
}
?>
<table>
<tbody>
<tr>
<td class="titulo">Titulo</td>
<td class="contenido">Contenido</td>
<td class="autor">Autor</td>
</tr>
<?php
$result=mysql_query($cadbusca, $conexion);
$i=1;
while ($row = mysql_fetch_array($result)){
echo "
<tr>
<td class='titulo'>".$row[3]."</td>
<td class='contenido'>".limitarPalabras($row[4],20)."</td>
<td class='autor'>".$row[5]."</td>
</tr>";
$i++;
}
?>
</tbody>
</table>
<?php
//cierra el if inicial
}
?>
Código Javascript:
Ver original
unction nuevoAjax(){ var xmlhttp=false; try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function buscarDato(){ resul = document.getElementById('resultado'); bus=document.frmbusqueda.dato.value; ajax=nuevoAjax(); ajax.open("POST", "busqueda.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { resul.innerHTML = ajax.responseText } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send("busqueda="+bus) }