Foros del Web » Programando para Internet » PHP »

Trabajar con un usuario en un sistema de bd

Estas en el tema de Trabajar con un usuario en un sistema de bd en el foro de PHP en Foros del Web. La pregunta es la siguiente. Como trabajar con usuarios en el que le adjudico a cada uno una tabla de una base de datos con ...
  #1 (permalink)  
Antiguo 11/10/2003, 17:59
 
Fecha de Ingreso: agosto-2003
Mensajes: 272
Antigüedad: 20 años, 7 meses
Puntos: 0
Trabajar con un usuario en un sistema de bd

La pregunta es la siguiente.
Como trabajar con usuarios en el que le adjudico a cada uno una tabla de una base de datos con un nombre distinto para cada uno.

Osea lo que quiero es realizar un programa que pueda ingresar, borrar,...en la tabla de cada usuario.
Osea, como mantengo el nombre de la tabla que le corresponde al usuario(A) y si entra un usuario(B) no deberia pasar nada no, va trabaja igual que el usuario(A) pero bajo la tabla del usuario(B).
Se entiende?
  #2 (permalink)  
Antiguo 11/10/2003, 18:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si ya tienes creado tu usuario en tu BD asignado a esa tabla .. sólo tienes que hacer un "login" para tus usurios y en consecuencia elegir los datos de conexión para tu BD


Ejemplo .. si pides $usuario, y pass .. (y son los mismos que creastes como usuario de tu BD):

mysql_connect("localhost",$usuario,$pass);

Y la tabla (el nombre) .. ahí veras tu si creas una tabla con el nombre del usuario o como te lo haces .. En tal caso son "condicionales" IF ($usuario == "pepito"){ $tabla="nose"} .. eso si interactuan en tablas diferentes .. Tal vez sólo te interesa controlar que usuarios tienes interactuando en tu BD (para eso "login" diferentes y conexiones diferentes biene bien).

Si esas variables $usuario y $pass la necesitas en más scripts de tu secuencia de páginas que puedas tener .. guardate esas variable en una cookie o sesión (preferiblemente en una sesión).

-------

A todo esto .. no sé como te complicas tu mismo con usuarios y tablas diferentes para tu BD .. Lo normal es trabajar con "datos" almacenados en las tablas que correspondan .. pero NO una para cada usuarios .. sino, relacionadas por su "ID" de usuario que a su vez guardas los usuarios de tu sistema en una tabla de "usuarios" ..

Ejemplo básico:

Usuarios
id_usuario
nick
password
etc ..

Y .. ejemplo .. una tabla de datos de esos usuarios:

datos
id_dato
id_usuario
dato1
dato2
datoN
etc

.. El campo id_usuario de la tabla "datos" es el que relaciona los datos del usuario en concreto.. Y .. esto es uno de los "pilares" de la normalización de BD ..

Si quieres que tu usuario "ID" 1 .. sólo vea sus datos .. e interactue en ellos sólo .. sólo tienes que hacer consultas tipo:

Listados:
SELECT * FROM datos WHERE id_usuario='$id_usuario_activo'
Borrar registros ..
DELETE FROM tabla WHERE id_dato='$id_dato' AND id_usuario='$id_usuario'
Actualizar
UPDATE datos SET campo='$algo' WHERE id_dato='$id_dato' AND id_usuario='$id_usuario_activo'

Como veras .. siempre con "condición" que el ID del usuario "Activo" sea el id_usario de la tabla en cuestión. El "$id_usuario_activo" lo obtienes al hacer el "login" de tu usuario contra tu tabla "usuarios" .. si es correcto .. guardas esa variable en una sesión y la usas cuando la necesites en tus consultas SQL .. como los ejemplos que mostré ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 11/10/2003 a las 18:30
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:00.