Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar posts hechos con un bucle

Estas en el tema de Guardar posts hechos con un bucle en el foro de PHP en Foros del Web. Buenas, estoy haciendo una aplicación en la que tu metes un numero de lineas por ejemplo 6, y te carga 6 lineas para completar en ...
  #1 (permalink)  
Antiguo 13/11/2014, 04:21
 
Fecha de Ingreso: marzo-2013
Mensajes: 79
Antigüedad: 11 años, 7 meses
Puntos: 2
Guardar posts hechos con un bucle

Buenas, estoy haciendo una aplicación en la que tu metes un numero de lineas por ejemplo 6, y te carga 6 lineas para completar en un formulario por ejemplo:

Código PHP:
$row 0;
                while (
$lineas != 0) {
                    echo 
'
                        <tr>
                                <td><input name="linea'
.$row.'" type="text" id="linea'.$row.'"></td>
                                <td><input name="tcs'
.$row.'" type="text" id="tcs'.$row.'"></td>
                                <td><input name="ntc'
.$row.'" type="text" id="ntc'.$row.'"></td>
                                <td><input name="pallets'
.$row.'" type="text" id="pallets'.$row.'"></td>
                                <td><input name="nom'
.$row.'" type="text" id="nom'.$row.'"></td>
                                <td><input name="cantidad'
.$row.'" type="text" id="cantidad'.$row.'"></td>
                                <td><input name="unidad'
.$row.'" type="text" id="unidad'.$row.'"></td>
                                <td><input name="pcompra'
.$row.'" type="text" id="pcompra'.$row.'"></td>
                                <td><input name="pventa'
.$row.'" type="text" id="pventa'.$row.'"></td>
                        </tr>
                        '
;
                        
$row $row 1;
                        
$lineas $lineas 1;
                } 
una vez completado el form, se le da a enviar y pasa por un php que tiene que guardar todos los datos en una base de datos, el problema que tengo es que no se como hacer para guardarlos en las variables antes de insertarlos, creo que los tiros van por hacer una matriz, pero no tengo ni idea

tengo esto en el siguiente php:

Código PHP:
//GET
$pedido $_GET["pedido"];
$contador $_GET["contador"];

//posts
$TCS=$_POST["tcs"];
$NTCS=$_POST["ntc"];
$pallets=$_POST["pallets"];
$producto=$_POST["nom"];
$cantidad=$_POST["cantidad"];
$unidad=$_POST["unidad"];
$pcompra=$_POST["pcompra"];
$pventa=$_POST["pventa"]; 
pero con eso si añado un 0 al final de cada post solo me guardaría la primera linea, como puedo hacer para que en un bucle me guarde $_POST["tcs0"], $_POST["tcs1"], $_POST["tcs2"], etc..

Última edición por kidinshell; 13/11/2014 a las 04:27
  #2 (permalink)  
Antiguo 13/11/2014, 05:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Guardar posts hechos con un bucle

Debes hacer un bucle que recorra la matriz $_POST en ella encontraras todos los valores de los imputs

Como los nombre de los campos los sabes puedes hacer lo siguiente, primero guardar el numero de lineas pedio por el usuario en un input hidden si hace falta pero que llegue con el post y luego como conoces los nombres de los campos

Código PHP:
Ver original
  1. $numLineas=$_POST["numLineas"];
  2. $arrDatos=array();
  3. for ($i=0;$i<$numLineas;$i++){
  4.    $subArrayDatos=array();
  5.    $subArrayDatos["TCS"]=$_POST["tcs".$i];
  6.    $subArrayDatos["NTCS"]=$_POST["ntc".$i];
  7.    $subArrayDatos["pallets"]=$_POST["pallets".$i];
  8.    $subArrayDatos["producto"]=$_POST["nom".$i];
  9.    $subArrayDatos["cantidad"]=$_POST["cantidad".$i];
  10.    $subArrayDatos["unidad"]=$_POST["unidad".$i];
  11.    $subArrayDatos["pcompra"]=$_POST["pcompra".$i];
  12.    $subArrayDatos["pventa"]=$_POST["pventa".$i];
  13.    $arrDatos[$i]=$subArrayDatos;
  14. }

Ahora tienes que construir la query.... quizas se podia hacer directamente...

Código PHP:
Ver original
  1. $sql="INSERT INTO tuTabla (TCS,NTCS,pallets,producto,cantidad,unidad,pcompra,pventa) VALUES ";
  2. for ($i=0;$i<$numLineas;$i++){
  3.    if($i<>0) $sql.=",";
  4.   $sql.="(".$_POST["tcs".$i].",".$_POST["ntc".$i].",".$_POST["pallets".$i].",".$_POST["nom".$i].",".$_POST["cantidad".$i].",".$_POST["unidad".$i].",".$_POST["pcompra".$i].",".$_POST["pventa".$i].")";
  5. }
  6. //Esto solo sirve para ver si la query se ha construido bien.
  7. echo $sql."<br />";

No he puesto delimitadores tu sabras los campos que los necesitan.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 13/11/2014, 05:26
 
Fecha de Ingreso: marzo-2013
Mensajes: 79
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Guardar posts hechos con un bucle

Muchas Gracias!

Etiquetas: bucle, formulario, posts, variable
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 21:55.