Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/12/2012, 03:55
Avatar de javiertroya
javiertroya
 
Fecha de Ingreso: mayo-2009
Ubicación: Valencia
Mensajes: 15
Antigüedad: 15 años
Puntos: 2
Respuesta: Duda PHP mysql con usuarios

Hola, lo primero que te recomendaría sería no almacenar la contraseña en una sesión debido a que luego puede ser capturada por algún malintencionado que quiera dañar tu aplicación.

Ahora para responder a tu pregunta, lo primero que debes hacer es relacionar las tablas, es decir, crear un campo identificador en la de usuarios (Normalmente llamado ID) y luego un relacional en la tabla empresas que podría llamarse "user_id" y cada vez que un usuario guarde información de su empresa se guardaría con el identificador único.

Un ejemplo de las tablas podría ser el siguiente:

Código MySQL:
Ver original
  1. CREATE TABLE  `usuarios` (
  2.  `usuario` VARCHAR( 16 ) NOT NULL ,
  3.  `clave` VARCHAR( 16 ) NOT NULL ,
  4.  `email` VARCHAR( 25 ) NOT NULL
  5. ) ENGINE = MYISAM ;
  6.  
  7. CREATE TABLE  `empresas` (
  8.  `user_id` INT( 11 ) NOT NULL ,
  9.  `nombre` VARCHAR( 50 ) NOT NULL ,
  10.  `rubro` VARCHAR( 50 ) NOT NULL ,
  11.  `telefono` VARCHAR( 11 ) NOT NULL ,
  12.  `web` VARCHAR( 50 ) NOT NULL
  13. ) ENGINE = MYISAM ;

Como vez creamos las 2 tablas de una forma muy simple, ambas con un campo id que se autoincrementa para generar el id unico de cada usuario y de cada empresa y en la tabla empresas el campo user_id que hara referencia al usuario que lo creo.

Para generar consultas

Una vez que tu usuario este identificado en la base de datos, puedes almacenar el ID del usuario en una sesion digamos que seria algo como $_SESSION["user_id"] y para consultar las empresas o la empresa del usuario (No se si un usuario tendra una o muchas empresas) puedes usar la siguiente consulta:

Código PHP:
Ver original
  1. $empresas_query = mysql_query("SELECT * FROM empresas WHERE user_id = '" . $_SESSION["user_id"] . "'");
  2.  
  3. // Verificas si hay empresas
  4. if ( mysql_num_rows ( $empresas_query ) > 0 )
  5. {
  6.  $empresas_usuario = mysql_fetch_object ( $empresas_query );
  7.  foreach ( $empresas_usuario as $empresas )
  8.  {
  9.    echo $empresas->nombre . "<br />"; // Esto solo imprimira el nombre de la empresa y luego un salto de línea
  10.  }
  11. }

Espero te funcione, saludos!