Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2009, 13:08
Avatar de Capote
Capote
 
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Problema con mi paginación

Hola.
Estoy tratando de paginar unos resultados que hago en una consulta a mi base de datos y tengo dos problemillas.
El primer incoveniente es que al tratar de paginar, si bien me sale el numero de paginas 1,2,3,...N de manera correcta, siempre me muestra una sola fila con el mismo valor.
El segundo problema es que me esta mandando un aviso en la linea 53 que no comprendo que tiene de mal el error es: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given.....
Aqui mi código:

Código PHP:
<?php
                
//Carga de variables del Servidor de Base de Datos.
                
require ('/procesos/base_de_datos.php');
                
//Conexion a la Base de Datos.
                
$conexion mysql_connect($host,$usuario,$password) or die ('Error de conexion, el error es: '.mysql_error());
                
//Seleccion de la Base de Datos.
                
mysql_select_db($bd,$conexion) or die ('Error de selecion de Base de Datos, el error es: '.mysql_error());
                
//Confeccion de la consulta SQL.
                
$consulta 'SELECT concat(rut_personal,"-",dv_personal), nombres_personal, apellido_paterno_personal, apellido_materno_personal FROM personal ORDER BY apellido_paterno_personal, apellido_materno_personal';
                
//Ejecucion de la consulta SQL.
                
$resultado mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
                
                
$num_registros=mysql_num_rows($resultado);
                echo
"$num_registros";
                
                
//Comprueba existencia de resultado
                    
if (mysql_num_rows($resultado))
                {
                          
//*******EL FOR ES LA LINEA 53*******
                                   
for ($i 0;$i <= mysql_num_rows($resultado)-1$i++)
                      {
                        if (!(
$registro mysql_fetch_row($resultado)))
                        {
                            continue;
                        }
                                                
                        
//Paginación
                        
$registros=5;
                        
$num=(isset($_GET["num"])? $_GET["num"]:""); 
                        
$pagina=$_GET["num"];
                        
                        if (
is_numeric($pagina))
                            
$inicio=(($pagina-1)*$registros);
                        else                         
                            
$inicio=0;
                            
$resultado mysql_query("SELECT concat(rut_personal,"-",dv_personal), nombres_personal, apellido_paterno_personal, apellido_materno_personal FROM personal ORDER BY apellido_paterno_personal, apellido_materno_personal" ,$conexion);
                            
$paginas_totales=ceil($num_registros/$registros);
                            echo 
'<tr>';
                            echo 
'<td><div><form name="buscar" method="post" action="modificar_personal.php"><input type="submit" value="'.$registro[0].'"><input type="hidden" name="rut" value="'.$registro[0].'"><input type="hidden" name="enviar" value="Buscar"></form></div></td>';
                            echo 
'<td><div>'.$registro[1].'</div></td>';
                            echo 
'<td><div>'.$registro[2].'</div></td>';
                            echo 
'<td><div>'.$registro[3].'</div></td>';
                            echo 
'</tr>';
                   }
                }
                else
                {
?>
                    </table>

                    <table width="100%" class="Estilo1" align="center">
                        <tr>
                            <td><div align="center">No existen registros!</div></td>
                        </tr>
                    </table>
<?php
                
}
?>
        </table>
        <?php        
        
//Imprimir numeros de paginas
            
if ($pagina>1)
                echo 
"<a href='/sistema/php/maestro_personal.php ?num=" . ($pagina-1) ."' > Anterior</a> " ;    
               for (
$cont=1;$cont<=$paginas_totales;$cont++)
               {
                  if (
$cont==$pagina)
                        echo 
$cont " " ;
                         else
                             echo 
"<a href='/sistema/php/maestro_vehiculos.php?num=".$cont ."'>$cont</a> " ;
                       }
            if (
$pagina<$paginas_totales)
                  echo 
"<a href='/sistema/php/maestro_personal.php ?num=" . ($pagina+1) ."'> Siguiente</a> " ;
?>