Foros del Web » Programando para Internet » PHP »

como optengo el autonumerico? :S

Estas en el tema de como optengo el autonumerico? :S en el foro de PHP en Foros del Web. hola necesito saber como optengo el autonumerico de una base datos...? les cuento es un codigo donde genero dos insert automaticamente... el primero genera el ...
  #1 (permalink)  
Antiguo 21/07/2006, 10:09
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 11 años, 6 meses
Puntos: 6
como optengo el autonumerico? :S

hola necesito saber como optengo el autonumerico de una base datos...?

les cuento es un codigo donde genero dos insert automaticamente... el primero genera el ID de manera automumerico y el segundo rescata ese mismo id para su clave primaria.... pero nose como optenerlo... :s
les dejor el codigo haber si tienen alguna sugerencia :D
lo malo que como para realizar un select a la tabla del autonumerico los demas campos pueden ser repetitivos entonces nose como ordenar los criterios de busqueda... :S espero me ayuden aios :D
Código PHP:
    if (isset($_POST["hidplatos"])){
        
// INSERCION DE LA MINUTA
            
        
$min_fecha_inicio=$_POST[txtfecha_inicio];
        
$min_fecha_termino=$_POST[txtfecha_termino];
                
        
$strsql "INSERT INTO int_minuta (min_fecha_inicio, min_fecha_termino) VALUES ";
        
$strsql.= "('".$min_fecha_inicio."','".$min_fecha_termino."')";
        
edit_data($strsql);
        
        if(
$id==""){print("no ahi na!");}
        
// INSERCION DEL DETALLE DE MINUTA
        
$strplatos $_POST["hidplatos"];
        
$intdesde 0;
        
$mde_min_codigo $id;
        while (
$intdesde strlen($strplatos)){
            
$inthasta strpos($strplatos")"$intdesde);
            
$strregistro substr($strplatos$intdesde$inthasta $intdesde 1);
            
$arr_registro registro_arreglo($strregistro);
            
            
//$mde_min_codigo = $id;
            
$mde_nro_opcion $arr_registro[0];
            
$mde_fecha $arr_registro[1];
            
$mde_nombre_plato $arr_registro[2];
            
$mde_tipo_plato "normal";
            
$mde_energia $arr_registro[3];
            
$mde_proteinas $arr_registro[4];
            
$mde_hidratos $arr_registro[5];
            
$mde_lipidos $arr_registro[6];
            
            
$strsql "INSERT INTO int_detalle_minuta (mde_min_codigo,mde_nro_opcion, mde_fecha, mde_nombre_plato,";
            
$strsql.= " mde_tipo_plato, mde_energia, mde_proteinas, mde_hidratos, mde_lipidos) ";
            
$strsql.= " VALUES ('".$mde_min_codigo."','".$mde_nro_opcion."','".$mde_fecha."','".$mde_nombre_plato."','".$mde_tipo_plato."',";
            
$strsql.= "'".$mde_energia."','".$mde_proteinas."','".$mde_hidratos."','".$mde_lipidos."')";
            
            
edit_data($strsql);
            
$intdesde $inthasta 1;
        }
        
//**** FIN INSERCION DE DETALLE ****
        
        
exit();
    }
?> 
__________________
sEIK! -Chile-
Analista Programador.
  #2 (permalink)  
Antiguo 21/07/2006, 10:21
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 13 años, 7 meses
Puntos: 0
Hola

lo primero que haria es averiguar cual es el ultimo ID q hay en la tabla,
y luego le agregas uno (+ 1)
entonces con ese ID ya haces los dos insert's

Ej:
Código PHP:
$sql="select MAX(ID) as ult_ID from tabla";
$result mysql_query($sql);
$row mysql_fetch_row($result);
$ID_max $row[0] + 1;

// $ID_max es el ultimo id de tu tabla
// ahora haces los dos inserts con el nuevo ID 
espero q te sirva, Salud2
  #3 (permalink)  
Antiguo 21/07/2006, 10:21
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 12 años
Puntos: 281
despues que hagas el primer insert pones:

Código PHP:
$nuevo_id mysql_insert_id(); 
y asi puedes guardar el nuevo ID en una variable para vulverlo a usar luego en esa misma pagina.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #4 (permalink)  
Antiguo 21/07/2006, 10:36
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 11 años, 6 meses
Puntos: 6
:d

muchas gracias :D
es lo que necesitaba
__________________
sEIK! -Chile-
Analista Programador.
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 06:29.