Foros del Web » Programando para Internet » PHP »

como cambiar el orden de los resultados de una tabla?

Estas en el tema de como cambiar el orden de los resultados de una tabla? en el foro de PHP en Foros del Web. Hola, para empezar debo decir que apenas estoy aprendiendo php, por eso tengo una pregunta o varias preguntas , tengo una tabla que muestra informacion ...
  #1 (permalink)  
Antiguo 14/09/2006, 18:58
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
como cambiar el orden de los resultados de una tabla?

Hola, para empezar debo decir que apenas estoy aprendiendo php, por eso tengo una pregunta o varias preguntas , tengo una tabla que muestra informacion de una tabla de la base de datos, como nombre año y un par de cosas mas, el problema es que son mas de 100 registros y no se muy bien como mostrarlo, tenia pensado que el usuario eliga ordenar por año o por nombre o por otro campo que es cantidad, pero no se como hacer eso, osea no se como crear un select o algo que cambie el orden de los resultados segun lo que quiera el usuario, como podria hacerlo, o me podeis aconsejar otro metodo.

Un saludo
  #2 (permalink)  
Antiguo 14/09/2006, 20:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
De SQL .. Necesitaras crear consultas tipo:

$sql="SELECT * FROM tabla WHERE condiciones ORDER BY campo_a_ordenar";

Si tu quieres hacer un "botón" o "link" para ordenar por cierto criterio (campo) .. puedes componer esa sentencia SQL tipo:

Código PHP:

swich
($_GET['orden']){
case 
"nombre":
  
$orden_campo "nombre";
break;
case 
"ano":
  
$orden_campo "ano"// o como se llame ese campo de "año"
break;
// etc con otros casos ...
}

$sql="SELECT * FROM tabla WHERE condiciones ORDER BY ".$orden_campo
Y su uso .. Link's con el parámetro "orden" incluido:

<a href="resultados.php?orden=nombre">Ordenar por Nombre</a>
<a href="resultados.php?orden=ano">Ordenar por Año</a>

Puedes usar más SQL .. con un "ASC o DESC" para ordenar en forma ascendente o descendente (se usaría detras del ORDER BY campo ASC ó DESC. Usando la misma técnica podrías hacer link's o botones para odenar por tal campo y además en tal forma.

Uso un "switch()" aunque en este caso parezca un poco redundate por seguridad: no ha de por qué coincidir el nombre de los campos de las tablas de tus BBDD implicadas con el dato que uses en la aplicación para identificar esa situación u orden.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 14/09/2006, 22:31
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
algo para complementar lo de cluster, es que si te das cuenta que al ordenar por un solo campo no es suficiente (si necesitas + de un criterio de busqueda) puedes agregar otros campos al ORDER BY, donde el campo más a la izquierda tiene más prioridad de orden que los campos de la derecha.
__________________
Blog | Tecnosquad
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 16:57.