Foros del Web » Programando para Internet » PHP »

Enviar por POST

Estas en el tema de Enviar por POST en el foro de PHP en Foros del Web. Hola compañeros pues tengo la duda de como enviar todos los datos de 81 textbox de un formulario de una sola vez a una segunda ...
  #1 (permalink)  
Antiguo 14/01/2009, 10:56
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación Enviar por POST

Hola compañeros pues tengo la duda de como enviar todos los datos de 81 textbox de un formulario de una sola vez a una segunda pagina de php por metodo POST, es que una vez recibidos hare su guardado en una base de datos.

aqui les dejo una imagen a ver si les sirve de guía de que estoy haciendo

http://www.esnips.com/doc/7ec1588e-a...18fa8d/FORMATO
  #2 (permalink)  
Antiguo 14/01/2009, 12:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Enviar por POST

Cita:
Broken Link
The link you clicked on is not complete.
  #3 (permalink)  
Antiguo 14/01/2009, 12:41
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Enviar por POST

ya cheque el link y ahora si funciona, disculpa, como puedes observar en la imagen son muchos textbox

  #4 (permalink)  
Antiguo 14/01/2009, 12:54
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Enviar por POST

a ver si te entendi bien , queres enviar todos los textbox a una base de datos ? , si es asi deberias crear un formulario , y todos los textbox con su correspondiente ID para guardarlos en la base de datos , despues ir a la base de datos , crear las 81 tablas , una para cada textbox y crear un fichero en php que procese esto y lo inserte en la base de datos...

INSERTAR.PHP

Código PHP:

<?

include("config.php");

mysql_query("insert into tabla (los 81 nombres de los textbox separados por una coma) values (el ID de los 81 textbox que seria la varible tambien separados por coma)");

echo 
'<BR>
 <FONT COLOR="#000000" FACE="Verdana, Arial, Helvetica, sans-serif" size=2>Se ha guardado correctamente en la base de datos</FONT>'
;

?>


espero qe haya sido eso loq preguntabas
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos
  #5 (permalink)  
Antiguo 14/01/2009, 12:57
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Enviar por POST

Cita:
Iniciado por tata009 Ver Mensaje
a ver si te entendi bien , queres enviar todos los textbox a una base de datos ? , si es asi deberias crear un formulario , y todos los textbox con su correspondiente ID para guardarlos en la base de datos , despues ir a la base de datos , crear las 81 tablas , una para cada textbox y crear un fichero en php que procese esto y lo inserte en la base de datos...

INSERTAR.PHP

Código PHP:

<?

include("config.php");

mysql_query("insert into tabla (los 81 nombres de los textbox separados por una coma) values (el ID de los 81 textbox que seria la varible tambien separados por coma)");

echo 
'<BR>
 <FONT COLOR="#000000" FACE="Verdana, Arial, Helvetica, sans-serif" size=2>Se ha guardado correctamente en la base de datos</FONT>'
;

?>


espero qe haya sido eso loq preguntabas
, lo que pasa es que es una sola tabla(productos) pero como ves requieren de meter varios productos con sus precios y eso.., tons se me ocurre meter todo en un arreglo o algo asi y mandarlos por post a otra pagina para una vez ya en la pagina secundaria pues guardar todo en la base de datos de manera multiple(multiple insercion)
  #6 (permalink)  
Antiguo 14/01/2009, 14:43
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Enviar por POST

Hola Lenin_Germaine, a ver si entiendo lo qe reqieres, ese formulario que tienes en la imagen quiere guardarlo en esa tabla d productos?

Bueno, lo que te recomiendo es que a cada columna de textbox le coloques como tipo array, es decir, en el name tengan el mismo nombre con corchetes:


<table>
<tr>
<td>CANTIDAD</td>
<td>CONCEPTO</td>
<td>P. UNITARIO</td>
<td>IMPORTE</td>
</tr>

<!-- este renglon lo repites tantas veces como renglones necesites en tu formulario -->
<tr>
<td><input type='text' name='cantidad[]'></td>
<td><input type='text' name='concepto[]'></td>
<td><input type='text' name='p_unitario[]'></td>
<td><input type='text' name='importe[]'></td>
</tr>

<!--aqui repites las veces que quieras el renglon de la tabla anterior-->

</table>

Y luego recibirlos en la otra pagina, pero recorrerlos con un for, algo asi:

Código PHP:

$cantidad 
$_POST['cantidad']
$concepto $_POST['concepto']
$p_unitario $_POST['p_unitario']
$importe $_POST['importe']

//Obtienes la cantidad de registros que tienen:
$no_reg count($cantidad);

//Y luego recorres esos arrays el numero d veces que obtuvimos anteriormente para armar el insert para la BD, si te das cuenta concateno la cadena $sql, para que se ejecute de un solo golpe y no hagas tantas conexiones al servidor.

for($i=0;$i<$no_reg;$i++){
    
$sql $sql."INSERT INTO productos(cantidad,concepto,p_unitario,importe) VALUES($cantidad[$i],$concepto[$i],$p_unitario[$i],$importe[$i]);";

Y asi ya logras agregar los datos ala BD, espero t sirva o al menos esa es mi idea.

Salutes!!

Última edición por charolastrazoe; 14/01/2009 a las 15:01 Razón: Solo acomode un poco el formulario
  #7 (permalink)  
Antiguo 14/01/2009, 14:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Enviar por POST

Formulario:
Código:
<form bla bla bla bla>
<input type="text" name="id[]" bla bla bla />
<input type="text" name="nombre[]" bla bla bla />
<input type="text" name="precio[]" bla bla bla /><br />

<input type="text" name="id[]" bla bla bla />
<input type="text" name="nombre[]" bla bla bla />
<input type="text" name="precio[]" bla bla bla /><br />

<input type="submit" value="Enviar" />
</form>
Código PHP:
$id array_map('trim'$_POST['id']);
$nombre array_map('trim'$_POST['nombre']);
$precio array_map('trim'$_POST['precio']); 
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 14/01/2009, 15:57
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Respuesta: Enviar por POST

Hola Charolastrazoe, pues quiero comentar algo que sabía y es que nombre del campo. Es el identificador único del campo el nombre no puede estar duplicado dentro del formulario o si? de modo que tendria muchos cantidad[ ] por ejemplo, no da error? y que hay con la propiedad id de un text es viable tambien en cambiarla igual a todas como en el caso del name?
  #9 (permalink)  
Antiguo 14/01/2009, 16:06
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Enviar por POST

Cita:
Iniciado por Lenin_Germaine Ver Mensaje
Hola Charolastrazoe, pues quiero comentar algo que sabía y es que nombre del campo. Es el identificador único del campo el nombre no puede estar duplicado dentro del formulario o si? de modo que tendria muchos cantidad[ ] por ejemplo, no da error? y que hay con la propiedad id de un text es viable tambien en cambiarla igual a todas como en el caso del name?
Am.. mira, al colocar todas con ese nombre lo que hago es que estoy construyendo un arreglo de controles, los cuales puedo manejar x posicion


Cantidad[0]-Concepto[0]-P_Unitario[0]-Importe[0]
Cantidad[1]-Concepto[1]-P_Unitario[1]-Importe[1]
Cantidad[2]-Concepto[2]-P_Unitario[2]-Importe[2]
Cantidad[3]-Concepto[3]-P_Unitario[3]-Importe[3]
Cantidad[4]-Concepto[4]-P_Unitario[4]-Importe[4]
Cantidad[5]-Concepto[5]-P_Unitario[5]-Importe[5]
----etc

Asi lo interpretaria PHP, y al recorrer el for, lo que haces es avanzar en las posiciones de el array, ademas que los datos del formulario PHP los recibe por lo que trae NAME y no por ID

Es decir, si yo pongo:

<input type='text' name='uno' id='dos'>

y quiero recibir por el nombre que hay en el ID, no traera nada.

$variable1 = $_POST['uno']; //Aqui recibe lo que tiene la caja xk tiene a NAME
$variable2 = $_POST['dos']; // aqui no recibiria nada xk usa a ID
  #10 (permalink)  
Antiguo 14/01/2009, 16:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Enviar por POST

Esos campos son tratados como elementos de un array y no como nombres duplicados.
__________________
- León, Guanajuato
- GV-Foto
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 04:21.