Foros del Web » Programando para Internet » PHP »

Error en paginacion

Estas en el tema de Error en paginacion en el foro de PHP en Foros del Web. Viene del foro base de datos al ser un error en el script ya que las variables dan los valores de $desde y $hasta de ...
  #1 (permalink)  
Antiguo 29/06/2010, 11:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 180
Antigüedad: 21 años, 1 mes
Puntos: 1
Error en paginacion

Viene del foro base de datos al ser un error en el script ya que las variables dan los valores de $desde y $hasta de la primera pagina 0 y2 al dar pagina siguiente los valores son -2 2. Me envian a este foro.
********************
Hola: He copiado el paginador de la pagina forosdelweb y al usarlo me sale la primera pagina bien pero en la segunda ya me da el siguiente error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource en la linea marcada en rojo en el script

El script es el mismo de la pagina: forosdelweb

<?php
# Funcion para conectar a la base de datos
function conectar($host,$user,$pass,$db){
$link = @mysql_connect($host,$user,$pass) or die("Error Conectando a la Base de datos");
@mysql_select_db($db,$link) or die("Error Seleccionando base de datos.");
return $link;
}

$host = "localhost";
$user = "root";
$pass = "";
$db = "base de datos";
# Se crea la variable $link que es para identificar la coneccion
# a la base de datos
$link = conectar($host,$user,$pass,$db);
$Nombre=$_POST['Nombre'];
$Telefono=$_POST['Telefono'];
$localidad=$_POST['localidad'];

# aqui colocan la tabla que se utilizara para
# extraer los registros y paginarlos
$tabla = "mitabla";

# aqui se extrae la cantidad de registros totales
$rsC = mysql_query("Select count(*) from ".$tabla);
$resultC = mysql_fetch_array($rsC);
$count = $resultC[0];

# Aqui se pone la cantidad de registros por pagina
# que se quieren mostrar
$hasta = 2;

if($pag==""){
$desde = 0;
$pag = 1;
}
else{
$pag = $_POST["pag"];
$pagS = $pag - 1;
$desde = $hasta * $pagS;
}

$resultados = mysql_query("SELECT * FROM ".$tabla." WHERE localidad='$localidad' limit $desde,$hasta");
if($count!=0){
while($articulo=mysql_fetch_array($resultados)){
echo "<tr height=100%>";
echo $articulo["localidad"]."<br>\n";
echo $articulo["Nombre"]."<br>\n";
echo $result["Telefono"]."<br>\n"; ";
}
}
else{
echo "No tenemos registros.";
}
mysql_close($link);

# aqui se llama a la funcion que muestra los links por paginas
# la variable $extra_variables es para anexar mas variables al url
# si es necesario para los querys que hagan.
# Solo se debe concatenar los datos nombre1=valor1&nombre2=value2
# NOTA: puede ubicar en cualquier parte de su codigo esta funcion
# para que aparesca dentro de la celda que desee.
# link totales es una variable al ser definida le dices a la funcion
# cuantos links quieres que aparescan por pantalla ya que si tienes
# 100 paginas no deberas ver los 100 links y solo muestres los necesarios
$link_totales = 2;
# se llama la funcion paginar
# los links si tiene un css podran tomar la estructura y color que le pongas
## Inicia Paginador
paginar($count,$hasta,$pag,$link_totales,$extra_va riables);

# Funcion paginar
# Inicia
function paginar($count,$hasta,$pag,$link_totales,$extra_va riables){
if($link_totales==1)$link_totales=2;
$links = $count / $hasta;
$arriba = $link_totales - 2;
$abajo = $pag - 1;
if($abajo==0)$abajo = 1;
$temp_r = $links - $pag;
if($temp_r>=$arriba){
$link_break = $pag + $arriba;
}
else{
$link_break = $links;
$abajo = $pag + 1 - $arriba;
if($pag==$links-1)$abajo = $pag - $arriba;
if($pag==$links)$abajo = $pag - 1 - $arriba;
}

if($pag==1)$link_break = $link_totales;
if($abajo==0)$abajo=1;
if(strlen($extra_variables)!=0) $extra_variables = "&".$extra_variables;

if($pag==1){
$anterior = 1;
}
else{
$anterior = $pag - 1;
}
if($pag!=1){
echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$anterior.$extra_variables."><< Anterior | </a>";
}

for($i=$abajo;$i<=$links;$i++){
if($link_break<$i){
break;
}
else{
if($pag==$i){
echo $i." | ";
}
else{
echo "<a href='".$_SERVER['PHP_SELF']."?pag=".$i.$extra_variables."'>";
echo $i;
echo " | </a>";
}
}
}
if($pag==$links){
$siguiente = $links;
}
else{
$siguiente = $pag + 1;
}
if($pag!=$links){
echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$siguiente.$extra_variables.">Siguient e >></a>";
}
}
?>

¿ Me podeis ayudar ?
Gracias
  #2 (permalink)  
Antiguo 30/06/2010, 07:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Error en paginacion

si quieres te envio un paginador, no lo puedo poner aqui por que es muy largo y no me deja, pero si alguien mas lo necesita que me envie un privado.

Saludos
  #3 (permalink)  
Antiguo 30/06/2010, 08:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Error en paginacion

Cita:
Iniciado por wwwpinkrabbites Ver Mensaje
si quieres te envio un paginador, no lo puedo poner aqui por que es muy largo y no me deja, pero si alguien mas lo necesita que me envie un privado.

Saludos
¿y que tan flexible y bueno es tu paginador??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 30/06/2010, 09:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Error en paginacion

Porque no en lugar de cuestionar y reirte de la gente y no dar ni una sola solucion clara de las cosas, das algun aporte en condiciones, porque como colaborador esres patetico como tus 9220 mensajes sean como los que has escrito hoy, no vales para nada.

Este foro se caracteriza por que la gente ayuda, aclara y comparte, y no se dedican a cuestionar a la gente, hace tiempo que soy miembro y siempre que he tenido alguna duda me la han solucionado.

Por lo tanto si tienes una buena idea para este forero aportasela y si no callate la boquita que seguro que ligas mas.
  #5 (permalink)  
Antiguo 30/06/2010, 10:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Error en paginacion

Cita:
Iniciado por wwwpinkrabbites Ver Mensaje
Porque no en lugar de cuestionar y reirte de la gente y no dar ni una sola solucion clara de las cosas, das algun aporte en condiciones, porque como colaborador esres patetico como tus 9220 mensajes sean como los que has escrito hoy, no vales para nada.

Este foro se caracteriza por que la gente ayuda, aclara y comparte, y no se dedican a cuestionar a la gente, hace tiempo que soy miembro y siempre que he tenido alguna duda me la han solucionado.

Por lo tanto si tienes una buena idea para este forero aportasela y si no callate la boquita que seguro que ligas mas.
en todo caso eres tú el que no entiende el sentido de mis palabras... realmente no era burla, en base a tu respuesta esperaba poder comprender las razones que te orillan a condicionar tu "aporte"

era tan fácil como pegar tu paginador en un pastebin e ingresar la URL aquí, y punto... nadie mete se cuchara!!

o mas simple...

- PHPPaging
- paginator

¿colaboras o hay que enviarte MP??

PDTA: además, ¿que hay de malo en mi pregunta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 30/06/2010, 10:45
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Error en paginacion

weno si no he puesto mi paginador es porque contiene 23000 caracteres y no me dejan meter mas de ya no me acuerdo
por ese motivo no lo he incluido
  #7 (permalink)  
Antiguo 30/06/2010, 10:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Error en paginacion

Cita:
Iniciado por wwwpinkrabbites Ver Mensaje
weno si no he puesto mi paginador es porque contiene 23000 caracteres y no me dejan meter mas de ya no me acuerdo
por ese motivo no lo he incluido
a eso es a lo que me refiero... recuerda que este también es un foro de discusión, no solo un foro de "ayuda" para novatos...

ya dicho eso, ¿porque es tan largo?

realmente jamás he visto un paginador que supere las 100 lineas... y por eso me intrigó que comentaras que el tuyo era demasiado grande, ya luego surgió la duda de saber como está escrito.... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 30/06/2010, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error en paginacion

Mmm es el mismo enlace que dejo pateketrueke del paginator de JPinedo (que es un usuario del mismo foro)...
  #9 (permalink)  
Antiguo 30/06/2010, 11:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Error en paginacion

Cita:
Iniciado por GatorV Ver Mensaje
Mmm es el mismo enlace que dejo pateketrueke del paginator de JPinedo (que es un usuario del mismo foro)...
gator, perdona pero no te entiendo lo que quieres decir, por lo menos en este tema pateketrueke, el unico enlace que ha puesto ha sido para google.

Saludos
  #10 (permalink)  
Antiguo 30/06/2010, 11:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error en paginacion

Cierto, bueno el paginador que dices es de JPinedo en su web lo puedes descargar: http://jpinedo.webcindario.com/scripts/paginator/.

Borro los mensajes ya que de nada sirve que lo dupliques aqui si ya esta en su web con ejemplos y el manual.
  #11 (permalink)  
Antiguo 30/06/2010, 11:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Error en paginacion

Gator siento decirte que el enlace no funciona

Saludos
  #12 (permalink)  
Antiguo 30/06/2010, 11:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error en paginacion

Cierto parece que la web ya no esta, aunque en cache se puede ver, de todas formas es fácil hubicar el script en Google, ya que esta hosteado en varias partes.

Saludos.
  #13 (permalink)  
Antiguo 30/06/2010, 11:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 180
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Error en paginacion

Gracias muchachos, el paginador de Pinedo lo tengo en uso y funciona pero tiene fallos como por ejemplo si paginas bases de datos con salida en orden aleatoria la primera pagina, bien pero cuando vuelves ya no funciona correctamente, además de otros errores que no se como solucionar y en los foros de paginator Pinedo dicen no tener solución.
El caso es que necesito otro mas sencillo, como por ejemplo el de arriba, pero contiene un error tonto que no se descubrir, por eso os pido ayuda.
  #14 (permalink)  
Antiguo 30/06/2010, 11:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error en paginacion

Pues para depurar el error del de arriba ve que error tiene tu consulta, siempre es importante depurar:
mysql_query(/*consulta*/) or die(mysql_error());

Saludos.
  #15 (permalink)  
Antiguo 01/07/2010, 01:17
 
Fecha de Ingreso: septiembre-2003
Mensajes: 180
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Error en paginacion

Ya lo se, pero no me dice nada que yo pueda interpretar como consecuencia del error, el mensaje de error que me sale es:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2,2' at line 1

Si algun "manitas" copia el script y lo prueba, podrá concretar donde esá el error, aunque pregunto ¿ es posible publicar un script con errores ? me resulta raro y ya no se si el error lo tengo yo.
  #16 (permalink)  
Antiguo 01/07/2010, 07:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Error en paginacion

Te recomiendo que analices el código un poco. Dice que tienes un error cerca de -2,2. Es decir busca algún valor que tengas en la consulta que pueda tener un valor -2,2 y anteriormente a ese valor verifica como creaste la consulta. Tal vez haz colocado una coma mal o uniste algún valor etc.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 01/07/2010, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error en paginacion

Prueba imprimir la consulta antes:
Código PHP:
Ver original
  1. $query = "SELECT * FROM ".$tabla." WHERE localidad='$localidad' limit $desde,$hasta";
  2. $resultados = mysql_query($query) or die(mysql_error() . ' - consulta: ' . $query );

Saludos.

Etiquetas: paginacion
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 08:01.