Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Obtener el siguiente id a insertar con php PDO

Estas en el tema de Obtener el siguiente id a insertar con php PDO en el foro de PHP en Foros del Web. Buenas!! Hola a todos y gracias por leer mi tema! Tengo un problema que me está costando mucho resolverlo y queria saber si alguien me ...
  #1 (permalink)  
Antiguo 13/02/2014, 05:52
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Obtener el siguiente id a insertar con php PDO

Buenas!! Hola a todos y gracias por leer mi tema! Tengo un problema que me está costando mucho resolverlo y queria saber si alguien me podria ayudar con esto.
Básicamente lo que necesito es obtener el siguiente id a insertar desde una tabla en la base de datos, yo esto antiguamente lo hacia así (dejo el código por si a alguien le es de ayuda):

Código PHP:
$result mysql_query("SHOW TABLE STATUS LIKE 'clientes'");
$row mysql_fetch_array($result);
$nextId $row['Auto_increment'];
mysql_free_result($result); 
Ahora como estoy empezando con php PDO quisiera saber si hay alguna manera de hacerlo, tenía pensado con el statement PDO::FETCH, pero no logro hacer que me funcione. Si alguien me puede ayudar estaría muy agradecida!!

Saludos!!!
__________________
...Si quieres que tu código funcione y tienes errores, borra todo y vuelve a empezar...
  #2 (permalink)  
Antiguo 13/02/2014, 06:00
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Obtener el siguiente id a insertar con php PDO

Buenas,

La pregunta es, para que necesitas hacer eso?

saludos
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 13/02/2014, 06:04
 
Fecha de Ingreso: noviembre-2012
Mensajes: 65
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Obtener el siguiente id a insertar con php PDO

yo sólo uso PDO, asique dime que necesitas hacer y te lo digo en PDO, ya que con sentencias SQL normales me lio jajaj
  #4 (permalink)  
Antiguo 13/02/2014, 06:18
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Obtener el siguiente id a insertar con php PDO

Gracias por las respuestas! Les explico mas o menos lo que estoy haciendo. Resulta que tengo un sistema que inscribe alumnos, pero en la base de datos tengo la tabla de usuarios y la tabla de alumnos, entonces cuando entra por el formulario de usuario me guarda en las dos tablas, creandome el mismo "id" para la misma persona en las dos tablas, pero cuando entro por el formulario de inscripción de alumnos necesito que me guarde solo en la tabla alumnos pero como "reservando" de alguna forma el id de la tabla usuarios, por si después el alumno se quiere crear un usuario.
Gracias!!!
__________________
...Si quieres que tu código funcione y tienes errores, borra todo y vuelve a empezar...
  #5 (permalink)  
Antiguo 13/02/2014, 06:47
 
Fecha de Ingreso: noviembre-2012
Mensajes: 65
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Obtener el siguiente id a insertar con php PDO

Cita:
Iniciado por mili_07 Ver Mensaje
Gracias por las respuestas! Les explico mas o menos lo que estoy haciendo. Resulta que tengo un sistema que inscribe alumnos, pero en la base de datos tengo la tabla de usuarios y la tabla de alumnos, entonces cuando entra por el formulario de usuario me guarda en las dos tablas, creandome el mismo "id" para la misma persona en las dos tablas, pero cuando entro por el formulario de inscripción de alumnos necesito que me guarde solo en la tabla alumnos pero como "reservando" de alguna forma el id de la tabla usuarios, por si después el alumno se quiere crear un usuario.
Gracias!!!
No se si te he entendido bien, te cuento lo que me ha parecido entender:
tienes la tabla de alumnos y la de usuarios, según he leido ambas deben de tener un campo ID.

Según tu lo quieres hacer debes crear en la tabla de alumnos un campo ID autoincremental que se cree automaticamente al crear el alumno.

Una vez creado este valor, si quieres procedes a guardar la información en la tabla de usuarios.

La tabla usuarios debe de tener también en campo ID, pero este NO debe ser autoincremental, simplemente un Primary Key.

Una vez el alumno ya esté logueado, (se crea una variable de sesión con su ID) si quiere registrarse como alumno lo que se debe de añadir como ID en alumnos es el valor de esa variable de sesión. de esta forma los ID de alumnos no van aumentando en +1, sino que corresponde al alumno que ha querido registrarse.

Si este proceso debe realizarse a la vez (registrandose directamente desde el formulario de usuarios) primero debes añadir el registro a la tabla de alumnos, tras ejecutar la sentencia debes recuperar el valor del ID del ultimo alumno añadido y ahora insertas es la tabla usuarios el valor con el ID anteriormente recuperado almacenado en una variable.

Es esto lo que quieres hacer??

En definitiva trata de que, al crear un usuario recupera el valor id del mismo alumno, de esa manera nunca un usuario puede tener un ID correspondiente a otro alumno. No se si me he explicado

Última edición por kasmo; 13/02/2014 a las 06:49 Razón: añadir información
  #6 (permalink)  
Antiguo 13/02/2014, 07:34
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Obtener el siguiente id a insertar con php PDO

Cita:
Iniciado por kasmo Ver Mensaje
No se si te he entendido bien, te cuento lo que me ha parecido entender:
tienes la tabla de alumnos y la de usuarios, según he leido ambas deben de tener un campo ID.

Según tu lo quieres hacer debes crear en la tabla de alumnos un campo ID autoincremental que se cree automaticamente al crear el alumno.

Una vez creado este valor, si quieres procedes a guardar la información en la tabla de usuarios.

La tabla usuarios debe de tener también en campo ID, pero este NO debe ser autoincremental, simplemente un Primary Key.

Una vez el alumno ya esté logueado, (se crea una variable de sesión con su ID) si quiere registrarse como alumno lo que se debe de añadir como ID en alumnos es el valor de esa variable de sesión. de esta forma los ID de alumnos no van aumentando en +1, sino que corresponde al alumno que ha querido registrarse.

Si este proceso debe realizarse a la vez (registrandose directamente desde el formulario de usuarios) primero debes añadir el registro a la tabla de alumnos, tras ejecutar la sentencia debes recuperar el valor del ID del ultimo alumno añadido y ahora insertas es la tabla usuarios el valor con el ID anteriormente recuperado almacenado en una variable.

Es esto lo que quieres hacer??

En definitiva trata de que, al crear un usuario recupera el valor id del mismo alumno, de esa manera nunca un usuario puede tener un ID correspondiente a otro alumno. No se si me he explicado
Si es eso! Habia pensado en que lo podría estar haciendo al revés, y ahora que tu me dices puede que sea ese mi problema voy a intentar hacerlo de esta forma y voy a ver que pasa! Mil gracias por responder!
__________________
...Si quieres que tu código funcione y tienes errores, borra todo y vuelve a empezar...
  #7 (permalink)  
Antiguo 13/02/2014, 08:45
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Obtener el siguiente id a insertar con php PDO

Kasmo, tu recomendación me vino de 10! Gracias!
__________________
...Si quieres que tu código funcione y tienes errores, borra todo y vuelve a empezar...
  #8 (permalink)  
Antiguo 13/02/2014, 18:55
 
Fecha de Ingreso: noviembre-2012
Mensajes: 65
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Obtener el siguiente id a insertar con php PDO

Cita:
Iniciado por mili_07 Ver Mensaje
Kasmo, tu recomendación me vino de 10! Gracias!
Me alegro mucho de haber podido ayudarte. y si tienes ddas ya sabes, escribeme si necesitas ayuda con alguna sentencia.

Etiquetas: pdo
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 20:22.