Foros del Web » Programando para Internet » PHP »

Ordenar información en tablas...

Estas en el tema de Ordenar información en tablas... en el foro de PHP en Foros del Web. Saludos... Tengo una pequeña 'query' a través de la cual seleccionando información en un combox puedo leer todo el contenido en un 'while' presentado en ...
  #1 (permalink)  
Antiguo 22/10/2008, 02:31
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Ordenar información en tablas...

Saludos...

Tengo una pequeña 'query' a través de la cual seleccionando información en un combox puedo leer todo el contenido en un 'while' presentado en tablas. La 'query' funciona de maravilla. Esta se compone de cinco títulos:

Cita:
____________________________________
| id | nombre | apellido | ciudad | pais |
____________________________________
Cómo puedo hacer para que al clicar sobre cada uno de los títulos se organice numerica o alfabéticamente?

Gracias por vuestra ayuda.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 22/10/2008, 05:46
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Ordenar información en tablas...

bueno se puede hacer con javascript o con php, por el foro vamos con la repusta en php

en cada titulo ones
<a href="?ordenar=nombrecolumna&tipo=asc">ascendente</a> // o tambien una imagen o codigo
<a href="?ordenar=nombrecolumna&tipo=desc">ascendente </a>

luego en la consulta

mysql_query("select * from tabla order by ".$_GET['ordenar`]." ".$_GET['tipo`]);

previamente podrias comprobar los get para que traigan un valor y que sean los correctos
saludos
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 22/10/2008, 05:50
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Ordenar información en tablas...

SI lo quieres hacer sólo con PHP tendrás que recargar la página, y volver a hacer la query ordenandola con el campo que quieras... Con un link en el que especifiques el orden debería valer. Al recargar la página coges el valor de la variable que has pasado y construyes la query. El resto sería igual.

Otras opciones sin tener que recargar la página (o al menos no completamente) serían usar JavaScript o Ajax.
  #4 (permalink)  
Antiguo 23/10/2008, 02:09
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Ordenar información en tablas...

Gracias. He intentado con Javascript (FAQs del foro) pero no sé por qué no marcha bien. Me suena un poco la idea de PHP por tratarse más del lado del servidor. Cómo podría realizar la busqueda de manera ASC o DESC por cada criterio?

Quiero decir... Ahora mismo tengo un $_POST['micampo'] que es la base de la búsqueda en una sola query que alimenta la tabla por un 'while'. Cómo podría hacer un link a cada uno de los criterios del orden para reenviar la consulta en la misma página?

Saludos y gracias por vuestra ayuda.
__________________
Andrew :P
  #5 (permalink)  
Antiguo 23/10/2008, 03:13
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Ordenar información en tablas...

Emilio... He intentado hacerlo con tu código pero no lo entiendo muy bien. A través del código que me das a manera de ejemplo debo tener un botón, imagen o texto que lo vinvule. Pero cómo puedo decirle que al hacer click allí modifique la información traida en pantalla?
__________________
Andrew :P
  #6 (permalink)  
Antiguo 23/10/2008, 03:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ordenar información en tablas...

mira.... la clave esta en las sentencias ORDER BY y DESC/ASC

si sabes, una consulta de SQL es texto sencillo.... ahora, si sabes escribir texto sencillo??

o bien, modificarlo y armar una cadena de texto sencillo al gusto, con variables??

esa es la clave, lo demás es SQL....

Código PHP:
$sql "SELECT * FROM tabla ORDER BY $mi_campo $mi_orden";

// bien, $mi_campo debe ser una columna valida de tu tabla
// y $mi_orden debe ser DESC o ASC, no mas... 
suerte!


PDTA: concentrate en el concepto de las variables ya que necesitas variar tu consulta de acuerdo a las necesidades descritas...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 23/10/2008, 05:24
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Ordenar información en tablas...

pateketrueke, Gracias...

Entiendo perfectamente esta parte de la estructura... Tengo una clave de orden y una clave GET que es la que recibe la información.

Pero, de qué manera envío el GET a la query?
__________________
Andrew :P
  #8 (permalink)  
Antiguo 23/10/2008, 05:51
 
Fecha de Ingreso: septiembre-2003
Mensajes: 54
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Ordenar información en tablas...

www.pagina.com/usuarios.php?order=nombre&tipo=desc

Código PHP:
$nombre=$_GET['order'];
$tipo=$_GET['tipo'];
// hago la consulta ahora
// bla bla bla... select * from usuarios order by ".$nombre." ".$tipo); 
__________________
Kame Kame AH
  #9 (permalink)  
Antiguo 23/10/2008, 07:05
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
De acuerdo Respuesta: Ordenar información en tablas...

Gracias a todos... Lo he solucionado!

Saludos

POST RESUELTO!
__________________
Andrew :P
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 17:43.