Foros del Web » Programando para Internet » PHP »

Problema con Limit

Estas en el tema de Problema con Limit en el foro de PHP en Foros del Web. Hola a todos, casi logré armar un paginador, porque muchos de los que vi no funcionan o usan script que en mi caso no puedo ...
  #1 (permalink)  
Antiguo 05/08/2011, 08:46
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Exclamación Problema con Limit

Hola a todos, casi logré armar un paginador, porque muchos de los que vi no funcionan o usan script que en mi caso no puedo usar.

El único problema que tengo es que no puedo limitar los resultados por página, probé con LIMIT pero cuando hago la búsqueda me tira error de sintaxis.

Si le borro el LIMIT, no me marca ningún error pero si por ejemplo busco wikipedia, aparecen los 260 resultados que encontró el buscador y abajo de todos los resultados aparecen las 26 páginas que muestran todos lo mismo (deberían aparecer 10 resultados en cada una).

Les dejo el código en donde tengo el error:

Código PHP:
//La cant de resultados de la página =P
$TAMANO_PAGINA 10

//examino la página a mostrar y el inicio del registro a mostrar 
$pagina $_GET["pagina"]; 
if (!
$pagina) { 
        
$inicio 0
        
$pagina=1

else { 
       
$inicio = ($pagina 1) * $TAMANO_PAGINA
}
// verificamos que se haya enviado una consulta 
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){ 
    
$frase htmlspecialchars($_GET['frase']); 
    
// hacemos la consulta de busqueda
    
$ssql mysql_query("SELECT Titulonoticia, descnoticia, urlnoticia, 
                              MATCH (Titulonoticia, descnoticia, urlnoticia) 
                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias 
                              FROM webs LIMIT $inicio, $total_paginas
                              WHERE MATCH (Titulonoticia, descnoticia)
                              AGAINST ('$frase' IN BOOLEAN MODE) 
                              ORDER BY coincidencias DESC"
$server_link
                              or die(
mysql_error());                               
    
$num_total_registros mysql_num_rows($ssql);
    
//calculo el total de páginas 
    
$total_paginas ceil($num_total_registros $TAMANO_PAGINA); 
Ponga lo que le ponga a LIMIT me marca error de sintaxis =P, si le pongo
LIMIT 1, 10 o lo que le escriba aparece error.

Si puedo terminarlo voy a hacer un tutorial de como armarlo porque no se encuentra en ningún lado uno funcional
  #2 (permalink)  
Antiguo 05/08/2011, 08:50
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con Limit

Es porque el limit no va ahi :|

http://dev.mysql.com/doc/refman/5.0/es/select.html
  #3 (permalink)  
Antiguo 05/08/2011, 08:53
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Respuesta: Problema con Limit

Cita:
Iniciado por darkasecas Ver Mensaje
Se limitan los resultados en 10 pero me desaparecieron las páginas =P, si le saco el LIMIT las páginas vuelven a aparecer.

Última edición por xarmagedonx; 05/08/2011 a las 09:03
  #4 (permalink)  
Antiguo 05/08/2011, 09:07
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema con Limit

Eso es porque esta línea pierde su sentido:
$num_total_registros = mysql_num_rows($ssql);

Eso ya no es el número total de registros, es el número de registros que devuelve la consulta, es decir 10.

Tienes que hacer la misma consulta sin limit para contar cuántos registros son.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 05/08/2011, 09:18
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Respuesta: Problema con Limit

Gracias por su ayuda, ahora aparecen 10 por página y también aparecen las páginas, perooo los 10 resultados que aparecen cuando uno busca se repiten en todas las páginas.

Por ej: busqué wikipedia y aparecen 10 resultados que son los primeros 10 de los 260 pero los 250 restantes no aparecen, a cada página que voy se encuentran los mismos 10 resultados.

Saludos!

Vi por una web que al LIMIT para ponerle 2 variables lo escribían así:
Código PHP:
Ver original
  1. LIMIT " . $inicio . "," . $TAMANO_PAGINA;"

pero no funciono =P
  #6 (permalink)  
Antiguo 05/08/2011, 09:26
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con Limit

Imprime tu consulta, y revisa si esta construyendose bien, con el valor en $inicio, y checa tambien que le estes pasando el parametro de "pagina"
  #7 (permalink)  
Antiguo 05/08/2011, 09:26
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema con Limit

LIMIT $inicio, $TAMANO_PAGINA
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #8 (permalink)  
Antiguo 05/08/2011, 09:28
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Respuesta: Problema con Limit

Vamoooos!!!!! gracias vgonga, gracias darkasecas, ahora posteo el tutorial de como hacer el paginador =)
  #9 (permalink)  
Antiguo 05/08/2011, 09:30
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Problema con Limit

No hace falta, hay mil. Me alegro que te funcionara al final.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: html, limit, mysql, registro, 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 05:04.