Ver Mensaje Individual
  #12 (permalink)  
Antiguo 19/06/2003, 11:30
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. uno/dos/N formularios es lo de menos .. eso ya va en temas de "usabilidad" .. el caso que recojas tus variables y las distribullas en los INSERT a tu(s) tabla(s) que correspondan ..

Con un formulario sobra para dar el alta .. Pero igual tendrás que tener esos formularios por ejemplo si quieres ofrecer el que cambien sólo la contraseña .. o que accedan a su perfil .. Pero vamos . .esto es lo de menos .. Precupate ahora de "modelar" bien tu BD ..

Como observación .. usas ambos "ID" de tus tablas como "llave" .. ambos son autoincrementales .. Asegurate de que van a la "par" cuando se generan ambos registros ..

Yo lo que hago (y lo que más veo que se hace en Msyql .. pues no soporta integridad referencial ni claves foraneas (PK) en ese tipo de tablas que estas usando y que son las más comunes ..) Es usar como ya te dije un campo ID_tabla_relacion

El proceso de dar de alta un registro es:

1) se crea el registro de la tabla Usuarios (con el ID autoincremental) ...
2) se obtiene el ID últmo generado (con msyql_insert_id() lo puedes obtener ..)
3) ese ID lo uso en el INSERT a la tabla "full" en el campo (extra) id_usuario ..

4) los "SELECT" serían: ... SELECT usuario.*,clientesfull.* FROM usuario, usuariosfull WHERE usuario.id=clientesfull.id_usuario

De esta forma.. las relaciones podrían ser 1 -> N (1 registro usuario -> N clientesfull o 1 -> 1 .. eso ya lo decidiras en tu programción pues Msyql no lo va hacer ..)

Quedaría tu tabla clientesfull:

CREATE TABLE `clientesfull` (
`id` tinyint(4) unsigned NOT NULL auto_increment,
`id_usuario` tinyint(4) unsigned NOT NULL,
`estado_cuenta` char(1) NOT NULL default 'P',
etc...

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