Foros del Web » Programando para Internet » PHP »

problema con paginador php de resultados sql

Estas en el tema de problema con paginador php de resultados sql en el foro de PHP en Foros del Web. Hola amigos tengo el siguiente codigo que, deberia funcionar, sin embargo me da error. Podria decirme alguien que es lo que falla¿ Segun el error ...
  #1 (permalink)  
Antiguo 01/07/2010, 12:45
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 3 meses
Puntos: 1
problema con paginador php de resultados sql

Hola amigos tengo el siguiente codigo que, deberia funcionar, sin embargo me da error.
Podria decirme alguien que es lo que falla¿
Segun el error el mysql_fetch_array esta mal si alquien pudiera decirme otra manera de paginar resultados de tablas sql se lo agradeceria mucho.


este es el codigo
Código:
<?php
require('conexion.php');
$RegistrosAMostrar=4;

//estos valores los recibo por GET
if(isset($_GET['pag'])){
	$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
	$PagAct=$_GET['pag'];
//caso contrario los iniciamos
}else{
	$RegistrosAEmpezar=0;
	$PagAct=1;
	
}
$Resultado=mysql_query("SELECT * FROM usuarios",$con);
echo "<table border='1px'>";
while($MostrarFila=mysql_fetch_array($Resultado))
{
	echo "<tr>";
	echo "<td>".$MostrarFila['id']."</td>";
	echo "<td>".$MostrarFila['usuario']."</td>";
	echo "<td>".$MostrarFila['email']."</td>";
	echo "</tr>";
}
echo "</table>";
//******--------determinar las páginas---------******//
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM usuarios",$con));

$PagAnt=$PagAct-1;
$PagSig=$PagAct+1;
$PagUlt=$NroRegistros/$RegistrosAMostrar;

//verificamos residuo para ver si llevará decimales
$Res=$NroRegistros%$RegistrosAMostrar;
// si hay residuo usamos funcion floor para que me
// devuelva la parte entera, SIN REDONDEAR, y le sumamos
// una unidad para obtener la ultima pagina
if($Res>0) $PagUlt=floor($PagUlt)+1;

//desplazamiento
echo "<a onclick=\"Pagina('1')\">Primero</a> ";
if($PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
echo "<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
if($PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
echo "<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>";
?>
y el error es el siguiente:
Código:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/s02b99f7/public_html/aaa/adwsoft/cbanner/pag/paginacion/paginador.php on line 17

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/s02b99f7/public_html/aaa/adwsoft/cbanner/pag/paginacion/paginador.php on line 26
  #2 (permalink)  
Antiguo 01/07/2010, 13:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP
  #3 (permalink)  
Antiguo 01/07/2010, 13:28
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años
Puntos: 10
Respuesta: problema con paginador php de resultados sql

ejecuta esto a ver que te muestra:

Código PHP:

$r 
= require('conexion.php');


var_dump($r);

echo 
"<br />";

var_dump($con);

@
$Resultado=mysql_query("SELECT * FROM usuarios",$con);

echo 
"<br />";

var_dump($Resultado); 
  #4 (permalink)  
Antiguo 02/07/2010, 13:16
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: problema con paginador php de resultados sql

Buenas he probado el código que has puesto y la verdad que me lista todos los datos de la base, y no me da ningún error.

Lo único que falla que no hace la paginación, dice la cantidad de paginas pero no hace la paginación, muestra todos los resultados hacia abajo, en una tabla.
Código PHP:
<?php
require('index_cita/includes/conexion.php');
$RegistrosAMostrar=2;

//estos valores los recibo por GET
if(isset($_GET['pag'])){
    
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
    
$PagAct=$_GET['pag'];
//caso contrario los iniciamos
}else{
    
$RegistrosAEmpezar=0;
    
$PagAct=1;
    
}
$Resultado=mysql_query("SELECT * FROM smsusers",$link);
echo 
"<table border='1px'>";
while(
$MostrarFila=mysql_fetch_array($Resultado))
{
    echo 
"<tr>";
    echo 
"<td>".$MostrarFila['sms_ID']."</td>";
    echo 
"<td>".$MostrarFila['sms_Name']."</td>";
    echo 
"<td>".$MostrarFila['sms_Mobile']."</td>";
    echo 
"</tr>";
}
echo 
"</table>";
//******--------determinar las páginas---------******//
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM smsusers",$link));

$PagAnt=$PagAct-1;
$PagSig=$PagAct+1;
$PagUlt=$NroRegistros/$RegistrosAMostrar;

//verificamos residuo para ver si llevará decimales
$Res=$NroRegistros%$RegistrosAMostrar;
// si hay residuo usamos funcion floor para que me
// devuelva la parte entera, SIN REDONDEAR, y le sumamos
// una unidad para obtener la ultima pagina
if($Res>0$PagUlt=floor($PagUlt)+1;

//desplazamiento
echo "<a onclick=\"Pagina('1')\">Primero</a> ";
if(
$PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
echo 
"<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
if(
$PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
echo 
"<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>";
?>
Imagino que el error que te da, se deba a "$con" que yo he puesto "$link" porque en el archivo conexion.php tengo esta linea:
Código PHP:
$link mysql_connect('servidor''usuario''contraseña'); 
Es lo único que he cambiado, bueno y de donde recoger los datos que he puesto los de mi base local.

Saludos

Etiquetas: paginador, resultados, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:31.