Foros del Web » Programando para Internet » PHP »

Insertar varios registro...

Estas en el tema de Insertar varios registro... en el foro de PHP en Foros del Web. Hola.. stoy haciendo un formulario , pero necesito ingresar cantidades de items variables en el form , weno a la hora de ingresar solo puedo ...
  #1 (permalink)  
Antiguo 04/07/2006, 15:17
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Insertar varios registro...

Hola..

stoy haciendo un formulario , pero necesito ingresar cantidades de items variables en el form , weno a la hora de ingresar solo puedo hacerlo , pero un solo registro :
Código PHP:
//DW CODE
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO productos (id_prod, id_coti, prod_nom, prod_np, prod_q, prod_p) VALUES (%s, $ultimo_id, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['id_prod'], "int"),
                      
// GetSQLValueString($_POST['$ultimo_id'], "int"),
                       
GetSQLValueString($_POST['prod_nom'], "text"),
                       
GetSQLValueString($_POST['prod_np'], "text"),
                       
GetSQLValueString($_POST['prod_q'], "int"),
                       
GetSQLValueString($_POST['prod_p'], "int"));

  
mysql_select_db($database_cotizaciones$cotizaciones);
  
$Result1 mysql_query($insertSQL$cotizaciones) or die(mysql_error());

estoy medio confundido como se podria hacer...agradesco la ayuda
  #2 (permalink)  
Antiguo 04/07/2006, 17:41
Avatar de bistoco  
Fecha de Ingreso: marzo-2006
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 0
no entnedi bien tu problema...si lo explicas denuevo , te podria dar una mano con eso

saludos
__________________
Share what you know...learn what you don't :si:
  #3 (permalink)  
Antiguo 04/07/2006, 17:52
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Yap te expliko mejor:
Tengo un formulario en el cual tengo items ..asi:

prod | np |cantidad|precio
A |WE | 2 |12.000
B |SW | 4 |42.000
.
.
N

la cantidad de items .. es variable puede ser 1 o más..
El problema es ke nosé como ingresar estos items "n" en la base de datos..
estube leyendo algo en los post ..creo q se hace con un for o foreach..es eso lo ke no entiendo.

Gracias
  #4 (permalink)  
Antiguo 04/07/2006, 19:46
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
Pregunta esos item los recolectas de donde

Esos item de donde los recolectas??
de alguna lista que imprimes
o de un form

saludos
__________________
gerardo
  #5 (permalink)  
Antiguo 05/07/2006, 01:23
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
De un form... q le lleno los datos a pulso no mas. Ayuda plis...
  #6 (permalink)  
Antiguo 05/07/2006, 02:50
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 13 años, 8 meses
Puntos: 78
porque no usas array de input

<input name="
prod_nom[]">

y luego recojes con $_POST pero en un for que a su ves en el mismo bucle haces el INSERT

__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #7 (permalink)  
Antiguo 05/07/2006, 08:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por elquique
porque no usas array de input

<input name="
prod_nom[]">

y luego recojes con $_POST pero en un for que a su ves en el mismo bucle haces el INSERT

Concuerdo con esa solución ..

Tienen una FAQ al respecto para ilustrar el tema en:
http://www.forosdelweb.com/showthrea...710#post518710

La FAQ habla de propagar un sólo dato (array) .. pero si usan más no es problema .. sólo habría que tener claro que generaras N arrays con el mismo indice ([n°]) así que tendrás que usar un bucle for() para recorrer esos N array's simultáneamente en paralelo aplicando el mismo n° de indice a todos tus N arrays y previamente contar (count()) los elementos de almenos uno de esos array's para aplicarlo en el for().


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 05/07/2006, 09:52
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
De acuerdo creo que lo ideo es atravez de un listado

Creo que seria mas optimo que imprimieras una grid con html
y pusieras un checkbox para seleccionar aquellos que deseas cargar en alguna tabla

http://www.rinconastur.net/php/php74.php

aqui te va un ejemplo namas que aqui es un borrado

http://www.rinconastur.net/php/ejemplo138f.php

saludos
__________________
gerardo
  #9 (permalink)  
Antiguo 24/07/2006, 17:08
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Amigos ...
Lo intento hacer , pero no me resulta me tira un error :
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\AppServ\www\cotizaciones\form_coti_recibe.php on line 61

Código PHP:
<?php 
$n 
count($_POST['PRODUCTO']);
for (
$i=0$i<$n$i++){
$q2="INSERT INTO productos (id_prod, id_coti, prod_nom, prod_np, prod_q, prod_p) VALUES ('".$_POST['id_prod'][$i]"','".$ultimo_id."','".$_POST['PRODUCTO'][$i]."','".$_POST['NP'][$i]."','".$_POST['CANTIDAD'][$i]."','".$_POST['PRECIO'][$i]."')";
mysql_select_db($database_cotizaciones$cotizaciones);
$Result mysql_query($q2$cotizaciones) or die(mysql_error());
}
?>
linea 61 : $q2="INSERT INTO produ.........
No entiendo en ke fallo
AYUDENME PLIS, gracias
  #10 (permalink)  
Antiguo 24/07/2006, 17:28
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
Sonrisa

('$_POST[id_prod][$i]',
normalmente yo inserto variable de post o get asi
('$_POST[id_prod][$i]',
__________________
gerardo
  #11 (permalink)  
Antiguo 24/07/2006, 17:39
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
Hola chalchis
mira sigue igual ,pero con otro error:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\AppServ\www\cotizaciones\form_coti_recibe.php on line 61

Código PHP:
$q2="INSERT INTO productos (id_prod, id_coti, prod_nom, prod_np, prod_q, prod_p) VALUES ('$_POST['id_prod'][$i]','$ultimo_id','$_POST['PRODUCTO'][$i]','$_POST['NP'][$i]','$_POST['CANTIDAD'][$i]','$_POST['PRECIO'][$i]')"
q hago mal?
  #12 (permalink)  
Antiguo 24/07/2006, 18:52
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 13 años, 8 meses
Puntos: 78
Lo que pasa que estas metiendo un lio de comillas simples dentro de comillas simples, concatena mejor los _POST
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #13 (permalink)  
Antiguo 24/07/2006, 19:01
 
Fecha de Ingreso: abril-2003
Mensajes: 201
Antigüedad: 14 años, 8 meses
Puntos: 0
:(
bueno ahora no tengo ese problema, pero al ingresar los datos me kedan asi :

RESUELTO
Q LIO ESOS DE COMILLASS...

Última edición por 4sc1r; 24/07/2006 a las 22:59
  #14 (permalink)  
Antiguo 25/07/2006, 01:18
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 5 meses
Puntos: 21
estas accediendo mal algo

ok antes que nada antes de guardar
ecribre en algun archivo de prueba
dentro de cliclo for imprimiendo
todo el array que vas recorriendo
para ver si no hay fallas al momento
de acceder al array

saludos
__________________
gerardo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:35.