Código PHP:
<?php
$palabras = $_POST['txtpal'];
$desglose = explode(" ", $palabras);
for ($a=0;$a<count($desglose);$a++)
{
if (($desglose[$a] == "de") OR ($desglose[$a] == "a") OR ($desglose[$a] == "y") OR ($desglose[$a] == "la") OR ($desglose[$a] == "los") OR ($desglose[$a] == "las") OR ($desglose[$a] == "el") OR ($desglose[$a] == "un") OR ($desglose[$a] == "unas") OR ($desglose[$a] == "unos"))
{
$desglose[$a] = "cadena-de-palabras-prohibidas"; //esto es para que no de problemas si la búsqueda comienza o termina con un monosilabo.
}
else
{
$desglose[$a] = $desglose[$a];
}
}
$limpieza_array = array_unique($desglose);
$cantidad = 0;
for ($b=0;$b<count($limpieza_array);$b++)
{
$cantidad++;
}
///////////////////////////////////////////////////////////////////////
if ($_POST['boton']=='avanzada')
{
$d = 0;
for ($c=0;$c<$cantidad;$c++)
{
mysql_select_db($database_conexportal, $conexportal);
$traer_ides = ("SELECT * FROM noticias WHERE (noticias.cuerpo_noticia LIKE '%".$limpieza_array[$c]."%' OR noticias.titulo_noticia LIKE '%".$limpieza_array[$c]."%' OR noticias.subtitulo_noticia LIKE '%".$limpieza_array[$c]."%') AND (noticias.area_noticia = 'general' OR noticias.area_noticia = 'columna')");
$ides_traidos = mysql_query($traer_ides, $conexportal) or die(mysql_error());
$pablo = mysql_fetch_assoc($ides_traidos);
do {
$myarreglo[$d] = $pablo["id_noticia"];
$d++;
} while ($pablo = mysql_fetch_assoc($ides_traidos));
}
}
elseif ($_POST['boton']=='rapida')
{
$d = 0;
for ($c=0;$c<$cantidad;$c++)
{
mysql_select_db($database_conexportal, $conexportal);
$traer_ides = ("SELECT * FROM noticias WHERE (noticias.titulo_noticia LIKE '%".$limpieza_array[$c]."%' OR noticias.subtitulo_noticia LIKE '%".$limpieza_array[$c]."%') AND (noticias.area_noticia = 'general' OR noticias.area_noticia = 'columna')");
$ides_traidos = mysql_query($traer_ides, $conexportal) or die(mysql_error());
$pablo = mysql_fetch_assoc($ides_traidos);
do {
$myarreglo[$d] = $pablo["id_noticia"];
$d++;
} while ($pablo = mysql_fetch_assoc($ides_traidos));
}
}
//////////////////////////////////////////////////////////////////////
$myarreglo_limpio = array_unique($myarreglo);//contiene todos los id de las noticias encontradas sin repetir
$myarreglo_unido = join($myarreglo_limpio);//junta todos los id
/////////////////////////////////////////////////aqui comienza el despliegue y la paginación////////////
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
//Cuenta cuantas noticias existen en la consulta
mysql_select_db($database_conexportal, $conexportal);
$consulta_query_not = ("SELECT COUNT(*) FROM noticias WHERE noticias.id_noticia IN ('".$myarreglo_unido."')");
$consulta_reg = mysql_query($consulta_query_not, $conexportal) or die(mysql_error());
list($total) = mysql_fetch_row($consulta_reg);
$tampag = 6;
$reg1 = ($pag-1) * $tampag;
///////////////////////////////////////////////////////////////////
mysql_select_db($database_conexportal, $conexportal);
$query_not = "SELECT * FROM noticias WHERE noticias.id_noticia IN ('".$myarreglo_unido."') LIMIT $reg1, $tampag";
$reg = mysql_query($query_not, $conexportal) or die(mysql_error());
if (mysql_num_rows($reg)){
echo "<table width='550' border = '0'> \n";
while ($row = @mysql_fetch_array($reg)) {
echo "<tr><td>".$row["titulo_noticia"]."</td></tr>
<tr><td>".$row["subtitulo_noticia"]."</td></tr>
<tr><td></td></tr> \n";
}
echo "</table> \n";
}
else
echo "¡ No se ha encontrado ningún registro !";
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $total, $por_pagina, $enlace) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior\">«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($actual<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\">»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
echo paginar($pag, $total, $tampag, "resultado2.php?pag=");
?>