Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: pedraxito en 1 Febrero 2008, 15:30 pm



Título: formulario para multiples registros
Publicado por: pedraxito en 1 Febrero 2008, 15:30 pm
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:
Código:
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>";
}


Título: Re: formulario para multiples registros
Publicado por: Azielito en 1 Febrero 2008, 17:15 pm
para genrar varios al mismo tiempo podrias enviar valores

Código
  1. <input type="text" name="genero[]">
  2. <input type="text" name="equipo[]">
  3. <input type="text" name="genero[]">
  4. <input type="text" name="equipo[]">
  5. <input type="text" name="genero[]">
  6. <input type="text" name="equipo[]">
  7. <input type="text" name="genero[]">
  8. <input type="text" name="equipo[]">

y despues recorres el array con los datos puestos :D


Título: Re: formulario para multiples registros
Publicado por: дٳŦ٭ en 1 Febrero 2008, 22:01 pm
para genrar varios al mismo tiempo podrias enviar valores

Código
  1. <input type="text" name="genero[]">
  2. <input type="text" name="equipo[]">
  3. <input type="text" name="genero[]">
  4. <input type="text" name="equipo[]">
  5. <input type="text" name="genero[]">
  6. <input type="text" name="equipo[]">
  7. <input type="text" name="genero[]">
  8. <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


Título: Re: formulario para multiples registros
Publicado por: pedraxito en 1 Febrero 2008, 22:12 pm
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 ... ?


Título: Re: formulario para multiples registros
Publicado por: Carxl en 2 Febrero 2008, 06:23 am
Hola pedraxito, debes ingresar registro por registro, es decir, de uno en uno...

Saludos ;)


Título: Re: formulario para multiples registros
Publicado por: pedraxito en 2 Febrero 2008, 07:42 am
Hola pedraxito, debes ingresar registro por registro, es decir, de uno en uno...

Saludos ;)

entonces, tengo q hacer una consulta para cada registro


Título: Re: formulario para multiples registros
Publicado por: USUARIO_DE_SOFTWARE_LIBRE en 3 Febrero 2008, 13:29 pm
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:

Código:
for each($_POST["equipo"] as $campo){
mysql_query("INSERT INTO `tabla`
`equipo`='".$campo."'");
}
creo que es algo así lo que necesitás, no?


Título: Re: formulario para multiples registros
Publicado por: SirLanceCC 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
  1. 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)


Título: Re: formulario para multiples registros
Publicado por: pedraxito en 4 Febrero 2008, 16:25 pm
Tambíen se puede hacer mediante una sola consulta a la bd con la siguiente síntaxis
Código
  1. 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
  1.  
  2. extract($_POST);
  3. $query = "INSERT INTO _jugadores (ju_nombre, ju_paterno, ju_materno, ju_fecha_nac, ju_numero) VALUES ";
  4. for($i=0;$i<=($numero_de_jugadores - 1);$i++){
  5. $query .= "('" . $nombre_del_jugador[$i] . "', '" . $apellido_paterno[$i] . "',
  6. '" . $apellido_materno[$i] . "', '" . $fecha_de_nacimiento[$i] . "', '" . $numero_de_jersey[$i] . "')";
  7. $i == ($numero_de_jugadores - 1) ? $query .= ";" : $query .=",";
  8. }
  9.