Hola...
He probado el paginador de Webstudio, y es bastante bueno, pero como puedo paginar los resultador por abecedario, es decir que en vez que me salgan los numeros de las paginas salgan las letras del abecedario???
Gracias por su ayuda!!!
| |||
Paginador Alfabetico Hola... He probado el paginador de Webstudio, y es bastante bueno, pero como puedo paginar los resultador por abecedario, es decir que en vez que me salgan los numeros de las paginas salgan las letras del abecedario??? Gracias por su ayuda!!! |
| |||
Pues poniendo la opcion ORDER BY campo en el SELECT y ese campo que se alfabetico, es decir, que contenga letras para que las ordene alfabeticamente(un campo VARCHAR por ejemplo). |
| |||
Forma tus links del abecedario: Código PHP: Tu resultado.php Tendrá que hacer mínimo una consulta SQL tipo: Código PHP: Un saludo, |
| |||
...Lo estoy haciendo con Paginator y hay una parte en la que yo le doy la consulta SQL ( if(!$rs->query("SELECT * FROM clientes ORDER BY nombre_empresa")) ), y esto ordena los resultados alfabeticamente, pero no muestra en los links de paginacion las letras, solo numeros de paginas. Tambien en la clase esta esta funcion function nroPaginas() { for($i = 1; $i <= $this->totalPaginas() ; $i++) { $temp[$i] = "<a href=\"?pagina=$i".$this->propagar()."\">$i</a>"; } // for $temp[$this->pagina()] = "<b>".$this->pagina()."</b>"; return implode(" | ", $temp); } // function que creo debo modificarla para que muestre letras en vez de numeros????? |
| |||
Si te fijas en la consulta SQL que te propongo que deberías usar .. no tiene nada que ver con "Limitar" registros que es lo que en el fondo hace tu classe de paginado o paginadores en general de ese tipo. Debes primero -antes- de atacar a tu sistema de paginado por "n°" que ya usas .. filtrar lo que le vas a entregar por "registros que el campo tal comiencen por tal letra". Luego -opcionalmente- si lo deseas a su vez paginas por n° tambien . .pero siempre n° y letra (de hecho en las variables que pueda propagar tu classe de paginado tendrías que añadir la de "letra" que usa el ejemplo que te puse más arriba.). Un saludo, |
| |||
El paginador gracias a jpinedo esta en http://jpinedo.webcindario.com/scrip...descargas.html |
| |||
Pero .. jgarcigo .. tu usas el de "webstudio" y ese es el que te pide el link el amigo baklao ... En la Web de jpinedo en su sección de "enlaces" lo tienes . también en el foro si buscas por Webstudio y paginacion ... Un saludo, |
| |||
Tienes razon este es el link, pero lo que no recuerdo es de donde descargue el codigo de la clase, pero lo estoy averiguando, mientras aqui esta el link de la documentacion http://www.web-studio.com.ar/proyect...umentacion.htm |
| ||||
Clase Paginado de Webstudio: Documentación http://www.web-studio.com.ar/proyect...umentacion.htm Código Fuente http://www.web-studio.com.ar/proyect....paginado.phps Y jgarcigo: La verdad yo tampoco entiendo... dices que utilizas Paginator pero pones un código de la clase Paginado... además pones el enlace a la web de Paginator... ojo, que los dos, aunque hacen prácticamente lo mismo se utilizan de manera muy diferente. Uno es un script para incluir y el otro es una clase. Saludos Última edición por jpinedo; 09/12/2004 a las 18:42 |
| |||
jgarcigo Has probado lo que no me cansaré de repetir en este mensaje .. a generar tus links alfabéticamente y a ejecutar la consulta SQL que más arriba te comenté?... No confundas un script que limita unos resultados de una consulta SQL del total que dá para separarlo en grupos de N registros (por página) a uno que -además- tenga que filtrar por tal coincidencia .. en tu caso que tal campo comience por tal letra. Un saludo, |
| ||||
jgarcigo: También me gustaría que respondas a lo que puso Cluster porque parece que lo estuvieras ignorando por completo... es gracioso, pero es justamente el único que te está dando la solución... Estás empecinado en utilizar un paginador y te has cerrado en eso... Te voy a aclarar un poco el asunto. Un paginador (como Paginator o la clase Paginado) hace lo siguiente a partir de una consulta sql: - Cuenta el total de registros que devuelve la consulta. - Calcula el número de páginas que se generarán. - Modifica la consulta sql añadiendo la cláusula LIMIT. - Genera los enlaces de paginación para navegar por las paginas. Si te das cuenta, lo que tú necesitas es TOTALMENTE DIFERENTE a lo que hacen los paginadores mencionados. Lo tuyo es incluso más sencillo... pero olvídate de lo que estás haciendo y prueba lo que Cluster te recomienda. Saludos |
| |||
Como comenta jpinedo . .esa es la filosofía de trabajo de un "paginador" común .. ahora .. si tu quieres "paginar" .. mejor dicho .. "mostrar" tus registros alfabéticamente y sólo los que comienzan por tal letra tal campo .. usa el código que más arriba mencioné. Como ya he dicho anteriormente .. -a su vez- puedes "paginar" de la forma "clásica" los resultados que te dé una consulta SQL del tipo condicional que te mostré por si tienes que ofrecer X registros de tal "letra" (inicial) por página. Un saludo, |
| |||
Cluster... He estado haciendo lo que me comentaste sobre las sentencia SQL $sql="SELECT * FROM tabla WHERE campo LIKE '".$_GET['letra']."%'"; , y tambien propagando la variable letra con el metodo $rs->propagar("letra"); , pero no he podido hacer que letra tome un valor, ya que en la URL muestra solo esto listar_productos.php?pagina=1&letra=, no tomando ningun valor ¿¿¿por que???. Bueno... Y con respecto al comentario de Jpinedo de que estoy ignorando a Cluster, no es asi, lo que sucede es que estoy un poco colgado (mas bien MUY COLGADO) con la clase de paginacion, pero hasta el momento estoy cachando que tengo que propagar la letra y parece que tambien modificar el metodo nroPaginas() de esta clase. Otra cosa es ¿Que sucede si en vez de un numero de pagina le pongo una letra de pagina?, es decir listar_productos.php?pagina=H. Bueno me despido hasta la proxima y muchas gracias a todos !!! |
| |||
Te recomiendo que empieces con el tema de listar tus registros por letras ... luego incrustra el código de paginado. Cita: Deberías ver el código de la classe de paginado que usas .. sobre todo el SQL que se gestiona ahí .. Jpinedo ya te hizo un resumen .. se usa la sentencia LIMIT de SQL y eso es para "limitar" numeros de registros desde un registro de inicio hasta un desplazamiento. Por ende .. eso de poner "pagina=H" no ocasionará mas que un error o será interpretado como "0" ... Otra cosa es ¿Que sucede si en vez de un numero de pagina le pongo una letra de pagina?, es decir listar_productos.php?pagina=H. El tema del por qué no se propaga tu variable .. no te lo puedo resolver pues no uso dicha classe pero .. lee su documentación y fijate bien como debes indicar tus variables a propagar. Un saludo, |
| |||
Este es el codigo que genera los links
Código:
, supongo que en esta funcion deberia ir el codigo que me dijiste para las letras, pero no cacho como function nroPaginas() { for($i = 1; $i <= $this->totalPaginas() ; $i++) { $temp[$i] = "<a href=\"?pagina=$i".$this->propagar()."\">$i</a>"; } // for $temp[$this->pagina()] = "<b>".$this->pagina()."</b>"; return implode(" | ", $temp); } // function |
| |||
No, ... Según la propuesta que a lo largo de este tema estoy tratando de comunicarte es que vas a tener dos cosas: A B C D F G ... --> links para acceder a los registros de tal campo que comienze por tal inicial Y a su vez .. para la letra X seleccionada tendrás un paginado de sus posibles resultados de forma numérica! 1 | 2 | 3 | .... Si cambias de "letra" .. el paginado se recompone .. tal vez no tengas más que una página para tal letra .. o tengas várias .. pero el paginado será para cada letra .. no "total". Por eso .. la sentencia SQL que debes "alimentar" a tu classe de paginado será la que te propongo con el "LIKE" ... Yo no sé si es eso lo que quieres o qué .. pero es así como deberías usarlo o simplemente te olvidas de la classe de paginado y que los resultados por "letra" que se arrojen sean los que sean en una sóla página. El método: propagar() ya te he comentado que no sé como se usa (por qué no me he leido la documentación de dicha classe) pero .. es cosa de que tú lo leas. Un saludo, |
| |||
Es eso exactamente lo que quiero hacer, pero que al ir al link "A", me muestre una pagina con todos los resultados que comienzan por "A", y no crear otra paginacion solamente para la letra "A". ...Creo que se entiende Gracias !!! |
| |||
Pues entonces simplemente -olvidate- de la classe de paginado que usas .. (te estás complicando tu mismo). Usa el código que te mostré hace unos cuantos mensajes más arriba!. Un saludo, |
| |||
JEJEJEJEJE !!!!..... Me rio solo solo solo JAJAJAJA!!!, lo que decias Cluster era realmente cierto!!!, me estaba ahogando en un charco de agua, el famoso paginador alfabetico no era mas que una sola pagina, sin clases ni nada por el estilo, aqui el codigo
Código:
...Por si le sirve a alguien que este en busca de algo parecido, lo que falta es agregar los links siguiente y anterior, y bueno, porsupuesto optimizar el codigo.<? include('cnn/conexion.php'); $sql = "SELECT * FROM clientes WHERE nombre_empresa LIKE '".$_GET['letra']."%'"; $rs = mysql_query($sql); echo '<table>'; for ($i = 0; $i < mysql_num_rows($rs); $i++) { echo '<tr><td>'.mysql_result($rs, $i, "nombre_empresa").'</td>'; } echo '</tr></table>'; $abecedario = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"; for ($i=0; $i < strlen($abecedario); $i++) { echo "|<a href=\"paginado_alfabetico.php?letra=$abecedario[$i]\"> $abecedario[$i] </a>|"; } ?> Una vez mas muchissimass gracias a todos y un cordial saludo !!! |
| ||||
ok Cita:
Iniciado por Cluster Forma tus links del abecedario: Código PHP: Tu resultado.php Tendrá que hacer mínimo una consulta SQL tipo: Código PHP: Un saludo, Para que salga la letra Ñ, te tocaría hacer lo siguiente: Código PHP: Código PHP:
__________________ Un Saludo, Andinistas. "Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos, ellos tenían la tierra y nosotros la biblia." Abadío Green. |
| |||
Gracias andinista.. Nuestro amigo ya lo resolvió de otra forma el tema de generar el abecedario con la "ñ" para los links: Código PHP: |
| |||
Hola buenas, Partiendo de este código ¿cómo podría crear una clasifiación numérica -del 0 al 9-. Y que también, de paso, mostrara nombres que se inicien con caracteres especiales como "!", "?", "#", "@", etc. Gracias amigos :D Cita:
Iniciado por Cluster Forma tus links del abecedario: Código PHP: Tu resultado.php Tendrá que hacer mínimo una consulta SQL tipo: Código PHP: Un saludo, |