Jueves 14 de Noviembre de 2024, 08:00
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
PHP
(Moderador:
F_Tanori
) »
Insertar en una base de datos Relacional
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Insertar en una base de datos Relacional (Leído 3064 veces)
Alberto_127
Miembro activo
Mensajes: 64
Insertar en una base de datos Relacional
«
en:
Jueves 30 de Octubre de 2008, 19:00 »
0
hola buen dia a todos, tengo una duda sobre insertar datos en un bd relacional, tengo una tabla de usuarios, con los campos, id, user, password, nivel, diaregistro; tengo otra
tabla que se llama datos_de_usuarios con los campos, id, nombre, apellidos, sexo, fecha, id_user, id_user es una FK al campo id de la tabla usuarios; al momento de crear un
usuario lo que hago es primero insertar los datos en la tabla usuario, esto me genera un id dado que es autoincrementable, segundo hago un select a la tabla para tomar el id
y tercero inserto los demas valores en la otra tabla datos_de_usuarios junto con el id del usuario, de esa forma lo he hecho, mi duda es alguien sabe de otra forma de realizar esto,
no se si me explicado, insertar los datos en una tabla, tomar el valor id que es autoincrement para insertarlo en la otra tabla para crear la relacion, de antemano gracias a todos por
sus comentarios.
Tweet
el_shanky
Miembro MUY activo
Mensajes: 177
Re: Insertar en una base de datos Relacional
«
Respuesta #1 en:
Viernes 31 de Octubre de 2008, 02:08 »
0
Para mi es tan válido lo que haces vos como tmb lo sería insertar el id del datos_de_usuario dentro de la tabla usuario!
No entiendo cual es tu incógnita? :S
Salu2
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook
http://www.maxcode.com.ar
http://www.shanky.com.ar
homie
Nuevo Miembro
Mensajes: 3
Re: Insertar en una base de datos Relacional
«
Respuesta #2 en:
Viernes 31 de Octubre de 2008, 06:09 »
0
Ok, si alcancé a entender lo que quieres hacer es insertar datos a 2 tablas diferentes desde un mismo formulario, si eso es correcto, lo que tendrías que hacer sería lo siguiente:
Código: PHP
<?php
//Recuperas los valores de tu formulario que insertarás en la tabla usuarios
$user
=
$_POST
[
'user'
]
;
$password
=
$_POST
[
'password'
]
;
$nivel
=
$_POST
[
'nivel'
]
;
$diaregistro
=
$_POST
[
'diaregistro'
]
;
//Insertas los valores a la tabla usuarios
mysql_query
(
"INSERT INTO usuarios (user, password, nivel, diaregistro) VALUES ('
$user
', '
$password
', '
$nivel
', '
$diaregistro
')"
,
$conexion
)
;
//Recuperas los valores de tu formulario que insertarás en la tabla datos_de_usuarios
$nombre
=
$_POST
[
'nombre'
]
;
$apellidos
=
$_POST
[
'apellidos'
]
;
$sexo
=
$_POST
[
'sexo'
]
;
$fecha
=
$_POST
[
'fecha'
]
;
$id_user
=
mysql_insert_id
(
)
;
//<---Aquí es donde tomas el valor id que es autoincrement para insertarlo en la otra tabla
//Insertas los valores a la tabla datos_de_usuarios
mysql_query
(
"INSERT INTO usuarios (nombre, apellidos, sexo, fecha, id_user) VALUES ('
$nombre
', '
$apellidos
', '
$sexo
', '
$fecha
', '
$id_user
')"
,
$conexion
)
;
?>
Espero que esto te pueda ayudar. Saludos
F_Tanori
Moderador
Mensajes: 1919
Nacionalidad:
Re: Insertar en una base de datos Relacional
«
Respuesta #3 en:
Sábado 1 de Noviembre de 2008, 16:58 »
0
En experiencias propias
mysql_insert_id()
falla, en ocaciones no devuelve el valor correcto.
La opcion que he 'adoptado' es generar una cadena unica por ejempo con
UniqID
despues hacer una consulta con esa cadena unica y obtener el Id autonumerico, parece que esto es menos productivo que usar la funcion mysql_insert_id(), ya que seria otra consulta, una insercion etc., incluso hay muchas forma de hacerlo pero es bastante efectiva y certera
Esto es en base a problemas que hemos experimentado usando esa funcion, y por lo cual utilizamos esta forma comentada
Saludos
" ExIsTo y A vEcEs PiEnSo "
NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================
objetivophp
Nuevo Miembro
Mensajes: 14
Re: Insertar en una base de datos Relacional
«
Respuesta #4 en:
Domingo 2 de Noviembre de 2008, 20:21 »
0
Si lo que quieres es obtener el id insertado recientemente para una conexion se debe usar LAST_INSERT_ID();
Es decir si haces un ingreso en una tabla con campo autoincremental y quieres usar el id que se genero en esa tabla la siguiente consulta es SELECT LAST_INSERT_ID(); puesto que esta es nativa de MySQL y trae el ultimo id para la conexion y no el ultimo id de la tabla por lo menos es lo que entiendo del manual de MySQL que difiere de mysql_insert_id de php que nos trae el ultimo id de cualquier conexion..
Alberto_127
Miembro activo
Mensajes: 64
Re: Insertar en una base de datos Relacional
«
Respuesta #5 en:
Martes 4 de Noviembre de 2008, 18:29 »
0
gracias a todos por su tiempo y sus respuestas, pues en principio use $id_user = mysql_insert_id(); pero si dicen que a veces devuelve un valor erroneo usare la funcion nativa de
MYSQL, a veces programo, y pues siempre busco una mejor manera de hacerlo, ya saben mas efeciente, como dicen todos los caminos conducen a roma, pero habran caminos largos
y otros cortos, saludos a todos y denuevo gracias por sus respuestas
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
PHP
(Moderador:
F_Tanori
) »
Insertar en una base de datos Relacional