PHP - como utilizar foreach

   
Vista:

como utilizar foreach

Publicado por jhean carlos (113 intervenciones) el 19/12/2014 23:40:22
como están quiero utilizar el foreach para mandar dos valores

estoy trabajando con una tabla que muestra la cantidad de filas que sean necesarias y dentro de cada fila tengo un select y una caja de texto donde tengo valores, en el Select cambio la categoría cuando sea necesario según la información de la fila.

En este ejemplo es un formluario_a que tengo valores

1
2
3
4
5
6
7
8
9
<td>
	<label>
		<select name="tramo[]" id="tramo" class="form-control">
			<option value="<?php echo $tramo ?>"><?php echo $tramo ?>
			<?php echo $options_4 ?>
		</select>
		<input name="contrId[]" type="text" id="contrId" value="<?php echo $dato['contrId'] ?>" size="5">
	</label>
</td>

Lo envió al formulario_b
aca los recivo, pero lo extraño que no lo recibe bien son dos valores no me responde adecuadamente el envio de datos, no se si mi código esta mal o tengo que aplicar el Foreach para recibir dos valores

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$tramo		= $_POST['tramo'];
$contrId	= $_POST['contrId'];
 
/*echo "proyId: $proyId <br>";
echo "contrId: $contrId <br>";
echo "tramo: $tramo <br>";  */
 
foreach (array_combine($_POST['tramo'],$_POST['contrId']) as $tramo => $contrId)
{
	if($tramo!='' && $contrId!='')
	{
 
		$guardar= ("UPDATE contrato_empresa SET tramo='$tramo' WHERE contrId='$contrId' AND proyId='$proyId'");
		$rs=mysql_query($guardar,$conexion);
		if($rs)
		{
			echo "	<html>
					<head>
						<meta http-equiv='REFRESH'content='0;url=index_58.php?proyId=$proyId'>
					</head>
					</html>";
		}
		else
		{
			echo "<script>";
			echo "alert('Error en los cambios!!');";
			echo "</script>";
			echo "	<html>
					<head>
						<meta http-equiv='REFRESH'content='0;url=index_58.php?proyId=$proyId'>
					</head>
					</html>";
		}
	}
	else
	{
 
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

como utilizar foreach

Publicado por Carlos (20 intervenciones) el 20/12/2014 00:02:36
En el primer option de tu select fijate que hay un cierre demás:

1
2
3
4
5
6
7
8
9
<td>
<label>
<select name="tramo[]" id="tramo" class="form-control">
<option value="<?php echo $tramo ?>">='/img/emoticons/up.gif' width='22' height='22' border='0' /><?php echo $tramo ?>
<?php echo $options_4 ?>
</select>
<input name="contrId[]" type="text" id="contrId" value="<?php echo $dato['contrId'] ?>" size="5">
</label>
</td>

Fijate eso y si no miro bien el código en detalle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como utilizar foreach

Publicado por Ismael (41 intervenciones) el 21/12/2014 17:32:10
Hola no se si has comprobado lo que recibes del post con print_r($tramo);, tampoco sé si será porque dentro del select no has cerrado el option:

1
2
3
4
<select name="tramo[]" id="tramo" class="form-control">
			<option value="<?php echo $tramo ?>"><?php echo $tramo ?>
			<?php echo $options_4 ?> </option>
		</select>

por otro lado en el foreach prueba a combinar el array antes de entrar en este:

1
2
3
4
$combinado=array_combine($_POST['tramo'],$_POST['contrId']);
foreach ($combinado as $tramo => $contrId){
...
}

Ya me cuentas,
un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como utilizar foreach

Publicado por jhean carlos (113 intervenciones) el 22/12/2014 15:06:50
hola gracias por las observaciones
pero te cuento que aun no me responde correctamente en el vio

no me recibe bien los dos valores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como utilizar foreach

Publicado por jhean carlos (113 intervenciones) el 23/12/2014 22:09:52
hola
alguien me puede ayudar

aun no me funciona mi codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

como utilizar foreach

Publicado por xve (5516 intervenciones) el 24/12/2014 11:42:53
Hola Jhean, no has respondido a la pregunta de ismael...

que recibes del post con print_r($tramo);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como utilizar foreach

Publicado por jhean carlos (113 intervenciones) el 24/12/2014 13:45:08
ya hice las correcciones
y probé con print_r($tramo); para saber si me recibe los valores

te cuento que no me recibe los valores bien en el form_2

que puede estar mal de mi codigo

<select name="tramo[]" id="tramo" class="form-control">
<option value="<?php echo $tramo ?>"><?php echo $tramo ?>
<?php echo $options_4 ?>
</option>
</select>
<input name="contrId[]" type="text" id="contrId" value="<?php echo $dato['contrId'] ?>" size="5">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar