Cita:
Iniciado por xerifandtomas Antes de continuar, estaría bien que trates de explicar que es lo que tratas/quieres enviar desde el formulario.
Si solo necesitas pasar pasar un valor y no un conjunto de valores, no hay ninguna necesidad de utilizar un array y por tanto tampoco de usar foreach.
Ejemplos:
Formulario 1 dato por variable, múltiples variables
Código HTML:
Ver original<input type="text" name="variable1" /> <input type="text" name="variable2" /> <input type="text" name="variable3" /> Otros input...
El formulario generará 3 variables ($_POST['variable1'],$_POST['variable2'],$_POST['variable3']) y cada una contendrá el valor introducido como un String.
Formulario array de datos
Código HTML:
Ver original<input type="text" name="variable[]" /> <input type="text" name="variable[]" /> <input type="text" name="variable[]" /> Otros input...
El formulario generará un array ( $_POST['variable'] ) de 3 elementos.
Hola xerifandtomas, mira tengo un formulario que mediante un foreach saco un listado de materiales,cada linea con su id,descripcion... y quiero que en cada linea el usuario modifique el numero de materiales.
Este es el formulario(simplificado)
Código PHP:
Ver original<form action="guardardevolvermateriales.php" method="POST" >
$sql2 = 'select * from OTMaterialesRetirados WHERE OTID = ' . $_GET['OTID'].' ';
foreach ($conn->query($sql2) as $row):?>
<input type="number" readonly name="OTMaterialRetiradoID" value="<?php echo $row['OTMaterialRetiradoID'];?>"></input>
<input type="number" name="CantidadEntregadaAlCliente[]" value="
<?php echo FLOOR($row['CantidadEntregadaAlCliente']);?>"></input></td>
</tr>
<?php endforeach?>
</form>
y esta es la página de guardado:
Código PHP:
Ver original...
$OTMaterialRetiradoID=$_POST['OTMaterialRetiradoID'];
$CantidadEntregadaAlCliente=$_POST['CantidadEntregadaAlCliente'];
foreach($CantidadEntregadaAlCliente as $_entregado)
{
$query2 = sprintf("UPDATE OTMaterialesRetirados SET CantidadEntregadaAlCliente = '" . $_entregado . "' WHERE OTMaterialRetiradoID = '" . $OTMaterialRetiradoID . "'");
$conn->query($query2);
}
Tal y como está, tan solo me guarda correctamente la ultima linea del listado, no por cada id, nose donde puedo fallar..
Gracias un saludo.