Comunidad de diseño web y desarrollo en internet online

Insertar mas de un registro a la vez

Citar            
MensajeEscrito el 05 Sep 2008 02:52 pm
Hola hermanos clabbers tengo el siguiente problema:

Tengo un formulario con el cual creo un nuevo usuario, a su pareja ya sus hijos, todo dentro de un mismo formulario la parte del ususario se envia a la tabla usuario(obvio) la de la pareja a la tabla conyugie y los hijos a la tabla hijos hasta hia todo normal el problema es que de estos tres pasos solo dos funcionan elñ del usuario y el de la pareja encuanto a lo de los hijos solo me añande un registro a pesar que se establece dinamicamente una cantida N de hijos establecida por el susario la sentencia para la creacion de los registro de los hijos es :

Código :

$i = 1;

do { 
    $insertSQL3 = sprintf("INSERT INTO hijos (pre_nombre, mas_nombre, ap_paterno, ap_materno, nacionalidad, f_nacimiento, doc_id, passport, vacuna1, vacuna2, vacuna3, vacuna4, vacuna5, vacuna6, vacuna7, vacuna8, Idusuario) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['pre_nombre'.$i], "text"),
                       GetSQLValueString($_POST['mas_nombre'.$i], "text"),
                       GetSQLValueString($_POST['ap_paterno'.$i], "text"),
                       GetSQLValueString($_POST['ap_materno'.$i], "text"),
                       GetSQLValueString($_POST['nacionalidad'.$i], "text"),
                       GetSQLValueString($_POST['f_nacimiento'.$i], "date"),
                       GetSQLValueString($_POST['doc_id'.$i], "text"),
                       GetSQLValueString($_POST['passport'.$i], "text"),
                       GetSQLValueString(isset($_POST['vac1'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac2'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac3'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac4'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac5'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac6'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac7'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac8'.$i]) ? "true" : "", "defined","1","0"),
                  GetSQLValueString($new_userid, "int"));
   mysql_select_db($dbname); 
   $Result3 = mysql_query($insertSQL3) or die(mysql_error());
   $i++;   
} while ($i < $familia);


Donde familia es una variable establecida previamente que toma su valor del numero de hijos que ingreso el usuario en un paso previo del formulario y de acuerdo a ese numero genero las fichas para el ingreso de datos.

Ya verifique el valor de familia este siendo enviado, cual puede ser el problema, porque solo me esta grabando el primer juego de datos de los hijos y no los demas ya sean 2 o 20 o mas.

Por NeoCesar

Claber

1415 de clabLevel

14 tutoriales

Genero:Masculino  

Algun lugar dentro de la Matrix (Lima - Perú)

firefox
Citar            
MensajeEscrito el 05 Sep 2008 08:08 pm
Yo te recomiendo que coloques un

Código PHP :

echo $insertSQL3;

dentro de la iteración para saber cuantas veces se repite esta y cuales son los valores de las diferentes consultas.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 05 Sep 2008 08:12 pm
Ya lo resolvi, aqui el codigo corregido xD

Código :

$i = 0;

do { 
   $i++;

   # Transformamos la fecha ingresada a formato MySQL 
   $new_fecha = str_word_count($_POST['f_nacimiento'.$i],1,"0123456789");
   $f_nacimiento_h = $new_fecha[2].$new_fecha[1].$new_fecha[0];
   
   # Insertamos el registro
   $insertSQL3 = sprintf("INSERT INTO hijos (pre_nombre, mas_nombre, ap_paterno, ap_materno, nacionalidad, f_nacimiento, doc_id, passport, vacuna1, vacuna2, vacuna3, vacuna4, vacuna5, vacuna6, vacuna7, vacuna8, Idusuario) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['pre_nombre'.$i], "text"),
                       GetSQLValueString($_POST['mas_nombre'.$i], "text"),
                       GetSQLValueString($_POST['ap_paterno'.$i], "text"),
                       GetSQLValueString($_POST['ap_materno'.$i], "text"),
                       GetSQLValueString($_POST['nacionalidad'.$i], "text"),
                       GetSQLValueString($f_nacimiento_h, "date"),
                       GetSQLValueString($_POST['doc_id'.$i], "text"),
                       GetSQLValueString($_POST['passport'.$i], "text"),
                       GetSQLValueString(isset($_POST['vac1'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac2'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac3'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac4'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac5'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac6'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac7'.$i]) ? "true" : "", "defined","1","0"),
                       GetSQLValueString(isset($_POST['vac8'.$i]) ? "true" : "", "defined","1","0"),
                  GetSQLValueString($new_userid, "int"));
   mysql_select_db($dbname); 
   $Result3 = mysql_query($insertSQL3) or die(mysql_error());
} while ($i < $_SESSION["misesion"]["familia"]);

Por NeoCesar

Claber

1415 de clabLevel

14 tutoriales

Genero:Masculino  

Algun lugar dentro de la Matrix (Lima - Perú)

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.