Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2006, 20:21
albertt_t
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 5 meses
Puntos: 0
Paginator - Resultados en consulta

Saludos Amigos, tengo implementado un buscador y he definido un campo Keywords para las busquedas del tipo text, al cual le paso los valores desde un formulario, por el metodo Post, el detalle es el siguiente


1.- Cuando Yo defino la Variable $frase, es decir cuando

$_pagi_sql = "SELECT * FROM cliente where keywords like 'palabra a buscar' and type=1 ";

Tiene un valor definido todo funciona bien me muestra los resultados que contengan esa frase a buscar. Y correctamente pagina las paginas solicitadas
en mi caso son 2 paginas de 10 cada uno


2.- Cuando Paso la variable que en mi caso se llama search y la recibo como $frase, la recibe la sentencia sql es decir quedaria asi

$_pagi_sql = "SELECT * FROM cliente where keywords like '$frase' and type=1 ";

y normalmente deberia mostrarme solo los registros coincidentes con $frase. (en mi caso 20 y deben ser 2 paginas.) Pero no es así yo le hago click en la siguiente hoja y me empieza a paginar todos los registros de la BD

Alguien me puede decir que esta pasando?

He separado mi codigo en 2 partes ya que si hay resultados en la consulta mostrara un resultado y en caso no hayga resultados mostrara una pagina de no resultados


Inicio del codigo

Código PHP:

<?php 

$frase 
=addslashes($_POST["search"]);

echo 
$frase;

?>

<?php


$con 
mysql_connect("localhost","aaaa","ccc") or die (mysql_error());

mysql_select_db("casita",$con) or die (mysql_error());

$_pagi_sql "SELECT * FROM cliente where keywords like '%$frase%' and type=1 ";



$_pagi_cuantos 10;

$_pagi_nav_num_enlaces 4;

$_pagi_mostrar_errores false;

$_pagi_conteo_alternativo true;


$_pagi_propagar = array("$frase");


$_pagi_nav_estilo "paginacion";


$_pagi_nav_anterior "&lt;";


$_pagi_nav_siguiente "&gt;";

include(
"paginator.inc.php");


// aqui valida si hay resultados o no

if ($_pagi_result  && mysql_num_rows($_pagi_result )>0)
El contenido Mostrado en caso de haber Resultados

Código PHP:

    {


                      ?>
                       <script language="javascript" type="text/javascript">



                       function vacio(q) {
                       for ( i = 0; i < q.length; i++ ) {
                       if ( q.charAt(i) != " " ) {
                       return true
                       }
                       }
                       return false
                       }


                      function valida(F) {
        
                   if( vacio(F.search.value) == false ) {
                 alert("Introduzca una palabra a buscar.")
                  return false
                  } else {
                
               
                 return true
                 }
        
                 }


                </script>

               <link href="fonts.css" rel="stylesheet" type="text/css">

 
             <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
             <TBODY>
            <TR>
            <TD width="15%" vAlign=top>&nbsp;</TD>
            <TD width="1%">&nbsp;&nbsp;</TD>
           <TD vAlign=top width="84%">
            <div align="center"> </div>
            <div align="left">
          <form name="form1" method="post"          action="search.php"                     onSubmit="return valida(this);">
            <table width="304" height="76" border="0">
              <tr>
                <td width="240"><input name="search" type="text" id="search" size="40" maxlength="40"></td>
                <td width="54"><input type="submit" name="Submit" value="Buscar"> </td>
              </tr>
            </table>
          </form>
      </div></TD>
    </TR>
  </TBODY>
</TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#FF0000 border=0>
  <TBODY>
    <TR>
      <TD  bgColor=#FFCCCC>&nbsp;</TD>
      <TD align=right bgColor=#FFCCCC class="rosado">
      
      <? 
     
      
echo"Resultados ".$_pagi_info.""?>
      
      
      </TD>
   
    </TR>
   </TBODY>
    </TABLE>
   <table width="100%"  border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="76%">&nbsp;</td>
    <td rowspan="2" valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td valign="top"><table width="77%" border="0" align="left" cellpadding="0" cellspacing="0">
      
      
      <?php 
      
      
      
do { ?>
      
      <tr valign="top">
        <td class="forTableBgRight"> <a href= "<?php echo $row['website']; ?>" class="Enlaces"><?php echo $row['title']; ?> </a></td>
      </tr>
      <tr valign="top">
        <td class="estilitos"><?php echo $row['comment']; ?></td>
      </tr>
      <tr valign="top">
        <td width="579" height="34" class="verde"><font color="#009900"><?php echo $row['website']; ?></font></td>
      </tr>
      <?php } while($row mysql_fetch_array($_pagi_result)); ?>
    </table>      
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p></td>
  </tr>
</table>
<table width="100%"  border="0">
  <tr>
    <td><? 

echo"<center>".$_pagi_navegacion."</center>"?></td>
  </tr>
</table>
<p>&nbsp;</p>


<?php
                
        

        
}
El Contenido Mostrado en caso de no haber Resultados en la consulta


Código PHP:


                         
else 
        
     
     
     
            {
                
                echo 
'<br><br><br><center><img  src="images/logo.gif"> ' ;
                echo 
"<br><br><center><b>Lo siento su Busqueda no tiene Resultados";
                echo 
'<br><br><br><br><br><a href="javascript:history.back()"> <img src="images/regresar.jpg" border="0"> </a>' ;
            }

?> 
Espero alguien me oriente.

Gracias

A. Acosta.