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> " ;
?>