Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/05/2008, 06:14
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Ordenar tabla en funcion de otras tabla

Sip, supongo que estamos hablando de los mismos conceptos, lo que se hace normalmente es definir una tabla "usuarios"

usuarios
idUsusario
nombre
direccion
country
...
username
password


o los campos que necesites y luego cada usuario individual se guarda en un registro de esta tabla, y luego claro el problema que planteas ya no tendria sentido

si quieres listar todos los ususarios

$personal_query="select * from usuarios ORDER By country ";

o si quieres listar un usuario concreto (en este caso el de la session)

$personal_query="select * from usuarios where username='$_SESSION['username']'";

si quieres dar un tratamiento especial al usuario de la session pero dentro de la lista general de usuarios usas el primer ejemplo y antes de mostrar cada registro compruebas si es el de la session con un if y lo muestras con el tratamiento especial...

Deberias buscar documentacion sobre normalizacion de bases de datos relacionales. Se trata de descomponer la información en unidades distintas pero todas las del mismo tipo se guardan (una sola vez) en una tabla que normalmente toma un nombre representativo del tipo de datos que guarda (vaya resumen me ha salido)...

Por ejemplo en la tabla usuarios que te proponia mas arriba el campo country podria contener un id_country en vez de el nombre del pais y luego deberias crear otra tabla "countrys" con dos campos id_country y nombre_country con todos los paises del mundo y relacionar las dos tablas, de esta manera reducimos el tamaño de la bbdd sin reducir la información que contiene, puesto que no guardamos muchas veces "REPUBLICA DE LOS ESTADOS UNIDOS DE EUROPA DEL SUR OESTE" sino que guardamos "1" que podria ser su identificador para cada usuario de ese pais, que obviamente ocupa mucha menos memoria.


Quim