Comunidad oficial de diseñadores web, web developers y Webmasters. Aqui podemos tratar temas actuales sobre diseño y tecnología. Podemos compartir y actualizarnos. Photoshop, Flash, PHP, ASP, Java, HTML, CSS, MySQL, CMS, etc. Unite YA y lee los Sticky

Ver más
  • 13,065 Miembros
  • 9,531 Temas
  • 3,449 Seguidores
  • 0

Seleccionar cantidad y luego insertar multiples datos

Quisiera saber como puedo hacer en php y msql esto:
Primero que me aparesca una pagina de donde yo escoja la cantidad de datos ejemplo tengo que llenar una orden de compra los datos de la tabla serian "id" int de tipo auto increment luego el "nombre" varchar 30 y la "cantidad" varchar 40 pero llo que yo no quiero hacer es llenar uno por uno si no hacer una pagina previa o un con un menu decir el numero de registros que va a llevar la orden como si yo selecciono 5 que me aparescvan esos sinco formularios y que luego yo los pueda insertar al mismo tiempo en la tabla les agradesco si me ueden colaborar
  • 0
  • 0Calificación
  • 1Seguidores
  • 244Visitas
  • 0Favoritos

22 respuestas

@LeoTorreZ dijo Hace más de 7 meses:

es una boludes pero si no sabes php ni mysql pierdo mi tiempo.....

sin embargo.

lo q tenes q hacer es un formulario q envie cuantos formularios para insertar datos queres

despues en el php de la siguiente pagina obtenes ese valor y haces un for() que se repita esa cantidad de veces, el mismo tiene que tener el formulario que introduce los datos en la base

y finalmente en el ultimo php tenes q recibir los datos, cuantos formularios del mismo envias y toda la info de cada formulario


y cuando todo te ande metele validaciones para evitar errores al guardar en la tabla

cualquer cosa pregunta

@Shavo2 dijo Hace más de 7 meses:


$j=$_POST['numero'];
for($i=0;$i<=$j;$i++)
{
$insertar="insert into tabla (los campos de la tabla) values('{$campo}','{$campo2}')";
$exe=mysql_query($insertar,$conexion);
}



Bueno hay tenes una guia adapatalo a tus necesitades

@LeoTorreZ dijo Hace más de 7 meses:

PrimerFormulario.php:
<form method="post" action="formularios.php">
Cantidad de Formularios:
<input type="text" name="cantidad">
<input type="submit" value="Enviar">
</form>

formularios.php
<form method="post" action="procesar.php">
<?php
$cantidad
=$_POST['cantidad'];
for(
$i=1;$i<($cantidad+1);$i++){
echo 
'<div class="fomulario">
<input type="text" name="nombre_'
.$i.'">
<input type="text" name="descripcion_'
.$i.'">
</div>'
;
}
?>
<input type="hidden" value="<?php echo $cantidad?>" name="cantidad">
<input type="submit" value="Enviar">
</form>

procesar.php:
<?php
include 'configuracionMySql.php';
$cantidad=$_POST['cantidad'];
for(
$i=1;$i<($cantidad+1);$i++)
{
$nombre=$_POST['nombre_'.$i];
$descripcion=$_POST['descripcion_'.$i];
$insertar="insert into tabla ('Nombre','Descripcion') values('{$nombre}','{$descripcion}')";
$exe=mysql_query($insertar,$conexion);
}
echo 
'listo chabon!!!!';
?>


no probe el codigo es todo a ojo

@dennis_1728 dijo Hace más de 7 meses:

No estas conectandolo bien a la base de datos..

tenes que usar mysql_connect y mysql_select_db

@LeoTorreZ dijo Hace más de 7 meses:

lucas771 dijo:

ya no me manda los warning pero no me inserta en la tabla:
<?php
$basedatos = "basededatos";
$server="localhost";
$dbpass="contrasena";
$dbuser="root";
$conexion = @mysql_connect($server,$dbuser,$dbpass);
$cantidad=$_POST['cantidad'];
for($i=1;$i<($cantidad+1);$i++)
{
$nombre=$_POST['nombre_'.$i];
$descripcion=$_POST['descripcion_'.$i];
mysql_select_db($basedatos, $conexion);
$insertar="insert into tabla ('Nombre','Descripcion') values('".nombre."','".$descripcion."')";
$exe=mysql_query($insertar,$conexion);
}
echo 'listo chabon!!!!';
?>


fijate q exista la tabla por ejemplo la tabla en la que este script introduce los datos se llama "tabla" y tiene los campos Nombre y Descripcion

para tu pagina tendrias q adaptarlo segun la estructura de tu tabla

@LeoTorreZ dijo Hace más de 7 meses:

LeoTorreZ dijo:

lucas771 dijo:

ya no me manda los warning pero no me inserta en la tabla:
<?php
$basedatos = "basededatos";
$server="localhost";
$dbpass="contrasena";
$dbuser="root";
$conexion = @mysql_connect($server,$dbuser,$dbpass);
$cantidad=$_POST['cantidad'];
for($i=1;$i<($cantidad+1);$i++)
{
$nombre=$_POST['nombre_'.$i];
$descripcion=$_POST['descripcion_'.$i];
mysql_select_db($basedatos, $conexion);
$insertar="insert into tabla ('Nombre','Descripcion') values('".nombre."','".$descripcion."')";
$exe=mysql_query($insertar,$conexion);
}
echo 'listo chabon!!!!';
?>


fijate q exista la tabla por ejemplo la tabla en la que este script introduce los datos se llama "tabla" y tiene los campos Nombre y Descripcion

para tu pagina tendrias q adaptarlo segun la estructura de tu tabla


ah y la variable nombre le falta el $
asi deberia quedar esa linea:
$insertar="insert into tabla ('Nombre','Descripcion') values('".$nombre."','".$descripcion."')";

@LeoTorreZ dijo Hace más de 7 meses:

LeoTorreZ dijo:

LeoTorreZ dijo:

lucas771 dijo:

ya no me manda los warning pero no me inserta en la tabla:
<?php
$basedatos = "basededatos";
$server="localhost";
$dbpass="contrasena";
$dbuser="root";
$conexion = @mysql_connect($server,$dbuser,$dbpass);
$cantidad=$_POST['cantidad'];
for($i=1;$i<($cantidad+1);$i++)
{
$nombre=$_POST['nombre_'.$i];
$descripcion=$_POST['descripcion_'.$i];
mysql_select_db($basedatos, $conexion);
$insertar="insert into tabla ('Nombre','Descripcion') values('".nombre."','".$descripcion."')";
$exe=mysql_query($insertar,$conexion);
}
echo 'listo chabon!!!!';
?>


fijate q exista la tabla por ejemplo la tabla en la que este script introduce los datos se llama "tabla" y tiene los campos Nombre y Descripcion

para tu pagina tendrias q adaptarlo segun la estructura de tu tabla


ah y la variable nombre le falta el $
asi deberia quedar esa linea:
$insertar="insert into tabla ('Nombre','Descripcion') values('".$nombre."','".$descripcion."')";


uu otra cosa
no es necesario que pongas esto dentro del for():
mysql_select_db($basedatos, $conexion);
definilo arriba nomas.....
<?php
//aqui deberia comenzar el archivo configuracionMySql.php
$basedatos "basededatos";
$server="localhost";  
$dbpass="contrasena"
$dbuser="root"
$conexion = @mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($basedatos$conexion);
//y aqui deberia terminar
 
$cantidad=$_POST['cantidad'];
for(
$i=1;$i<($cantidad+1);$i++)
{
$nombre=$_POST['nombre_'.$i];
$descripcion=$_POST['descripcion_'.$i];
$insertar="insert into tabla ('Nombre','Descripcion') values('".$nombre."','".$descripcion."')";
$exe=mysql_query($insertar,$conexion);
}
echo 
'listo chabon!!!!';
?>

PD:Tengo que leer todo antes de comentar

@LeoTorreZ dijo Hace más de 7 meses:

esta linea esta mal(aqui la pongo corregida):
$insertar="insert into tabla ('Nombre','Descripcion') values('$nombre','$descripcion')";
y la funcion utf8_decode no la veo necesaria..... quiza eso te esta causando problemas.....

otro detalle en taringa pone[*code][/*code] sin asteriscos para que se coloree los codigos

@LeoTorreZ dijo Hace más de 7 meses:

si vas a agregar el campo id tenes que agregar el campo en el formulario y despues en la consulta tmb....
buscate unos tutoriales para q veas ejemplos funcionando
despues cuando funcione todo busca tutoriales de validacion de formularios

@LeoTorreZ dijo Hace más de 7 meses:

lucas771 dijo:

ya cree la base de datos con la tabla "tabla" y con los campos id int 3 autoincrement, nombre varchar 20, y descripcion varchar 80 pero no me guarda


Tene en cuenta que las bases de datos en servidores unix son sensibles a mayusculas y minusculas( no es lo mismo ·"nombre" que "Nombre"

@LeoTorreZ dijo Hace más de 7 meses:

lucas771 dijo:

tambien ya lo hice todo en minuscula sin ñ y sin acentos pero igual no me guarda


a eso me referia que no lo guardes con minuscula
porque cuando insertas los datos esta con mayuscula la primer letra

Tienes que ser miembro para responder en este tema