Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2016, 16:27
Avatar de eymer1235
eymer1235
 
Fecha de Ingreso: mayo-2016
Mensajes: 2
Antigüedad: 8 años
Puntos: 0
¿Cómo obtener el id de multiples registros insertados en una consulta?


Buenas tardes pues como dice el título tengo esta duda, por ejemplo si tengo una consulta como esta
Código PHP:
INSERT INTO tabla (campo1campo2campo3VALUES
(valorvalor,valor ),
(
valorvalorvalor),
(
valorvalorvalor); 
como haría para obtener el id de cada uno de esos registros insertados, pero claro desde PHP.

Explico mi caso, tengo una tabla examen otra valores y una examen_has_valores
la tabla valores tiene su id auto-incrementable con los datos del examen a registrar, la tabla valores tiene su id-auto-incrementable con sus otros campos como unidad, etc.
Entonces en la tabla examen_has_valores esta el id de la tabla examen y el id de la tabla valores, cuando el despliegue del examen es simple recibe un solo valor, al hacer los inserts puedo utilizar mysql_insert_id() para obtener los id e insertarlos en la tabla examen_has_valores, pero cuando el despliegue es compuesto el examen contendría varios valores para hacer este insert tengo este código:

Código PHP:
$query3 "INSERT INTO valores VALUES ";
            foreach (
$valores_dep as $key => $value){ 
                 
//echo "{$valor[$key]}{$tipo_valores_dep[$key]}{$unidad[$key]}{$referencia[$key]}\n";

         
$query3 .= "(null,'{$tipo_valores_dep[$key]}','{$valor[$key]}','{$unidad[$key]}','{$referencia[$key]}'),";
        
                     

            };
            
//REMUEVO ULTIMA COMA
            
$query3 substr($query30, -1); 
            
//echo $query3;  
            
$sql3 mysql_query($query3) or die(mysql_error()); 
El problema radica es que si uso mysql_insert_id() solo me arrojaría el último id de ese insert multiple y lo que quiero sería obtener el id de cada registro insertado en esa consulta para luego con una sentencia parecida insertar el id del examen con los diferentes id generados de esa sentencia. Se me olvidó mencionar estos exámenes son de laboratorio.
Espero me puedan ayudar. Gracias de antemano.

Última edición por eymer1235; 31/05/2016 a las 16:37