formulario para multiples registros

Iniciado por pedraxito, 1 Febrero 2008, 15:30 PM

0 Miembros y 1 Visitante están viendo este tema.

pedraxito

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>";
}



Azielito

para genrar varios al mismo tiempo podrias enviar valores

Código (html) [Seleccionar]
<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

Código (html) [Seleccionar]
<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


Con sangre andaluza :)


pedraxito

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 ... ?


Carxl

Hola pedraxito, debes ingresar registro por registro, es decir, de uno en uno...

Saludos ;)
Hay 10 tipos de personas, los que entienden binario... y los que no!

pedraxito

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


USUARIO_DE_SOFTWARE_LIBRE

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?

SirLanceCC

Tambíen se puede hacer mediante una sola consulta a la bd con la siguiente síntaxis
Código (sql) [Seleccionar]
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)

pedraxito

#8
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
Código (sql) [Seleccionar]
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
Código (php) [Seleccionar]

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 .=",";
}