Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2006, 21:45
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 4 meses
Puntos: 5
Buenas

Podés usar la función LAST_INSERT_ID() de mysql (hay una función equivalente en php, pero por lo que leí, usar la de mysql es mejor).

En código php sería algo así:
Código PHP:
$consulta_id mysql_query("SELECT LAST_INSERT_ID();");
$ultimo_id mysql_result($consulta_id,0,0); 
O sea, que tendrías que hacer el primer INSERT (maestro), obtener el id con LAST_INSERT_ID(), y después usar ese dato para el próximo INSERT (detalle).

Si sólo vas a usar el id de la tabla de pedidos una vez, para insertar en el detalle, podés ahorrarte el select y hacer:

Código PHP:
INSERT INTO detalle_pedido (id_det,id_padre,otro_campoVALUES (NULL,LAST_INSERT_ID(),'algun valor'); 
(Lo puse de memoria así que antes de usarlo chequealo!)

Lo único que tendrías que tener en cuenta es que si después volvés a usar LAST_INSERT_ID después de hacer el insert en detalles, estarías obteniendo el id del segundo insert, no del primero. (Siempre trae el último autoincremental insertado por cliente; o sea que aunque justo dos personas entraran al mismo tiempo, los id no pueden mezclarse -- según la documentación de mysql, al menos).

Suerte
Califa