Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/01/2010, 11:00
m4sterz3r0
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema con paginacion.. no me muestra las demas paginas

Gracias por tu ayuda el error del 0 esta solucionado y como decias no habiamos dado valor a $registros pero bueno error de logica jeje. Ya me hace bien la busqueda me pinta mis 10 registros con las respectivas paginas y todo...pero el error ahora es que al darle en "siguiente" me vuelve a poner la busqueda como si no la hubiera hecho me recarga el frame (por que cabe aclarar que tengo un catalogo.html con iframe donde muestro consultas.php) dicho esto continuo.. me recarga el frame y me sale como si no hubier busqueda no se si el problema es el iframe o el hecho de usar 2 metodos GET y POST como bien me lo mencionaste anteriormente si es asi me podrias ayudar a solucionarlo?? te dejo los codigos de los 2 archivos
catalogo.html
Código HTML:
<FORM ACTION="consultas.php" METHOD="post" name="Cargarconsulta" target="busqueda" id="Cargarconsulta">
            <table width="96%" height="163" border="0" align="center" cellpadding="0" cellspacing="0" class="info">
<tr><td><table height="575" border="0">
<tr>
                                      <td>
                                      
                              <span class="Estilo3">Busqueda: </span>
                              <input type="text" name="txtEXPR1" size="50" value=""> &nbsp;</td>
                              <td><input type="submit" value="Iniciar b&uacute;squeda" class="BotonSubmit"> </td>
                            </tr>
                                    <tr>
                                      <td align="right"><div align="center"><span class="Estilo5">Buscar </span>                                          
                                          <select name="opCAMPO1"  size="1">
                                        <option value="0"> --- </option>
                                        <option value="1">Por T&iacute;tulo</option>
                                        <option value="2">Por Tema</option>
                                          </select>
&nbsp;</div>
<div align="center"><span class="Estilo5">Tabla </span>                                          
                                          <select name="opCAMPO2"  size="1">
                                        <option value="0"> --- </option>
                                        <option value="1">INEGI</option>
                                        <option value="2">VIDEOS</option>
                                          </select>
&nbsp;</div></td>

<input type="reset" value="Restablecer" class="BotonClear"></td>
                                    </tr>
                                    
                                    <tr>
                                  <td width="100%" height="496" colspan="2" align="center"><div align="center"><span class="Estilo5"></span>
                        <iframe id="busqueda" src="consultas.php" name="busqueda" style="width:545px; height:475px"></iframe></td>
                            </tr>
                                  </table>

                        </td>
                    </tr>
                </table></FORM> 
Consultas.php
Código PHP:
<table width="100%" border="0">
  <tr>
    <td width="99%" align="center"><span class="Estilo1">Resultado de la busqueda:</span></td>
    <td width="1%">&nbsp;</td>
  </tr>
  <tr>
    <td>

<?php 
$Tbusq 
$_POST["opCAMPO1"]; 
$accion $_POST["txtEXPR1"];
$registros 10;  //Número de registros por pagina 
$pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] : 1//Si esta definida $_GET['pagina'] cojemos su valor, si no hay nada la primera pagina es 1

//Aquí ya tienes otro problema por que la pagina se pasa por GET
//Y los paremetros de busqueda por POST y al cambiar de pagina estos no se mandan.
//Te recomiendo usar solo POST o GET, o en su defecto guardar los valores en cookies.

$sql "SELECT num, titulo, tema FROM inegi"

switch(
$Tbusq)
{
    
//Si $Tbusq es igual a 1
    
case 1:
        
$sql .= " WHERE titulo LIKE '%$accion%'"
    break;
    
//Si $Tbusq es igual a 2
    
case 2:
         
$sql .= " WHERE tema LIKE '%$accion%'"
    break;
    case 
'':
    default:
        exit(
'Selecciona un tipo de busqueda');
        
//Como no tenemos busqueda no queremos saber nada mas
    
break;

 
//Realizar una consulta en la BD: 
$resultados mysql_query($sql); 
$total_registros mysql_affected_rows(); 
$total_paginas ceil($total_registros $registros);

if(
$total_registros && $total_registros != -1)

    
$inicio = ($pagina 1) * $registros//Donde empezamos
    //Ahora si queremos un limite de consultas
    
$sql .= " LIMIT $inicio, $registros";
    
$resultados mysql_query($sql); 
    while (
$row mysql_fetch_array($resultados))
    { 
        
//Mientras tengamos resultados
        
echo "<p><strong>Num. </strong>"$row['num'] ." - <strong>Titulo: </strong> "$row['titulo'] ."<strong> Tema: </strong>"$row['tema'] ."</p>";
         
//echo "<P>", "<strong>", "Num. ", "</strong>", $row["num"], " - ", "<strong>", "Titulo: ", "</strong>", $row["titulo"], "<strong>", " Tema: ", "</strong>", $row["tema"], "</P>"; 
    
}
    
//Ahora mostramos la paginacion
    
echo "<center>";          
    if(
$pagina 1
    {
        echo 
"<a href='consultas.php?pagina=".($pagina--)."'>< Anterior</a> "
  } 
    
    for (
$i 1$i <= $total_paginas$i++)
    {
        if (
$i == $pagina)
        {
            
//Si esta es la pagina en la que estamos
            
echo "<b>".$i."</b> "
        }
        else
        {
            echo 
"<a href=\"consultas.php?pagina=$i\">$i</a> "
        }
    }
    
    if (
$pagina $total_paginas)
    {
        
//Si tenemos mas páginas que la actual
        
echo " <a href=\"consultas.php?pagina=".($pagina++)."\">Siguiente ></a>";
    }
    echo 
'</center>';
}
else

    exit(
"<font color='darkgray'>(sin resultados)</font>");
    
//No queremos nada mas

?> 
</td>
<td>

</td>

  </tr>
  
</table>