Hola que tal?
Necesito crear un formulario en el cual pueda dar de alta varios registros al mismo tiempo.
Lo estoy empezando a crear pero todavía me falta mucho para que quede funcionando. Es por eso que les pido si me pueden orientar para poder dejarle funcionando correctamente.
Este es el código que tengo:
if($_POST['equipo'] == "Siguiente"){
$fecha = date("Y-m-d");
echo $query;
echo "<div align='center'>";
echo "<form method='POST' accept-charset='utf-8' action='?action=cpanel&cpanel=jugadores'>";
echo "<input type='hidden' value='" . $_POST['genero'] . "' name='genero'>";
echo "<input type='hidden' value='" . $_POST['equipo'] . "' name='equipo'>\n";
echo "<table>\n";
echo "<tr><td class='title'>\n";
echo "<div id='form'>";
echo strtoupper($_POST['nombre']);
echo "</div></td></tr>\n";
echo "<tr><td><label for='numero_pl'>Numero de Jugadores: </label>";
echo "<select id='numero_pl' name='numero_pl' class='drop'>";
for($i=1;$i<=15;$i++){
echo "\t<option value='$i'>$i</option>\n";
}
echo "</select>\n\n";
echo "<input type='button' value='Actualizar' name='actualizar'></td></tr>\n";
for($x=1;$x<$i;$x++){
echo "<tr><td style='text-align: left;'>$x <label for='jugador'>Nombre: </label><input name='jugador' type='text' class='text'></td></tr>\n";
}
echo "</table>";
echo "</form>\n";
echo "</div>";
}
para genrar varios al mismo tiempo podrias enviar valores
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
y despues recorres el array con los datos puestos :D
Cita de: Azielito en 1 Febrero 2008, 17:15 PM
para genrar varios al mismo tiempo podrias enviar valores
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
<input type="text" name="genero[]">
<input type="text" name="equipo[]">
y despues recorres el array con los datos puestos :D
MM yo en su tiempo llegué hacer algo similar, digamos que pasaba por get el numero de veces que iba a repetir el formulario, pero a cada input lo nombré distinto, con un while _1, _2 y así... no sé si te sirva..
haha carita super cool :laugh:
Suerte
gracias por sus respuestas ... me han servidor ;D
ahora otra duda. para insertar los registros en la base de datos ... se tiene que hacer una consulta por registro?? o puedo hacer una consulta para insertar todos ... ?
Hola pedraxito, debes ingresar registro por registro, es decir, de uno en uno...
Saludos ;)
Cita de: Carxl en 2 Febrero 2008, 06:23 AM
Hola pedraxito, debes ingresar registro por registro, es decir, de uno en uno...
Saludos ;)
entonces, tengo q hacer una consulta para cada registro
Cita de: pedraxito en 2 Febrero 2008, 07:42 AM
Cita de: Carxl en 2 Febrero 2008, 06:23 AM
Hola pedraxito, debes ingresar registro por registro, es decir, de uno en uno...
Saludos ;)
entonces, tengo q hacer una consulta para cada registro
Recorre el array y mete cada campo en la tabla:
for each($_POST["equipo"] as $campo){
mysql_query("INSERT INTO `tabla`
`equipo`='".$campo."'");
}
creo que es algo así lo que necesitás, no?
Tambíen se puede hacer mediante una sola consulta a la bd con la siguiente síntaxis
INSERT INTO tabla (a,b,c) VALUES (a1,b1,c1),(a1,a2,a3),...
especificas la tabla seguido de las columnas a modificar entre paréntesis. Los valores debes colocarlos entre parentesis y en el mismo orden que especificaste antes. Así puedes insertar varios registros en una consulta.
Lo único que hay que hacer es generar la consulta primero y ejecutarla después... :¬¬ (como dicen en mi tierra primero lo primero y segundo lo segundo)
Cita de: -| Sir_Lance |- en 3 Febrero 2008, 16:08 PM
Tambíen se puede hacer mediante una sola consulta a la bd con la siguiente síntaxis
INSERT INTO tabla (a,b,c) VALUES (a1,b1,c1),(a1,a2,a3),...
especificas la tabla seguido de las columnas a modificar entre paréntesis. Los valores debes colocarlos entre parentesis y en el mismo orden que especificaste antes. Así puedes insertar varios registros en una consulta.
Lo único que hay que hacer es generar la consulta primero y ejecutarla después... :¬¬ (como dicen en mi tierra primero lo primero y segundo lo segundo)
gracias por tu ayuda ...
lo estoy resolviendo de esta manera
extract($_POST);
$query = "INSERT INTO _jugadores (ju_nombre, ju_paterno, ju_materno, ju_fecha_nac, ju_numero) VALUES ";
for($i=0;$i<=($numero_de_jugadores - 1);$i++){
$query .= "('" . $nombre_del_jugador[$i] . "', '" . $apellido_paterno[$i] . "',
'" . $apellido_materno[$i] . "', '" . $fecha_de_nacimiento[$i] . "', '" . $numero_de_jersey[$i] . "')";
$i == ($numero_de_jugadores - 1) ? $query .= ";" : $query .=",";
}