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_campo) VALUES (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