Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2008, 13:19
head777
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 16 años, 1 mes
Puntos: 1
Como meter un foreach dentro de otro foreach??

Hola, bueno no se, si se pueda pero necesito que me ayuden por favor, la cuestion es esta. Yo tengo una tabla de materiales en la cual hago un llamado normal a la base de datos y muestro todo su contenido con un while y con una table, pero a el final del codigo agrego un campo de texto en su forma de array, para que los usarios introduscan la cantidad deseada de cada material, pueden ver el codigo aqui:
Código PHP:
<? 

$db
="costos";
$tabla="materiales";
$conexion=mysql_connect("localhost","root") or die (mysql_error());
$db=mysql_select_db($db,$conexion) or die (mysql_error());
$sql="select * from $tabla ";
$result=mysql_query($sql,$conexion);
echo 
"<left><table  class='ewTable'>";
echo 
"<tr class='ewTableHeader'><th><font color=white>Codigo</th>";
echo 
"<th><font color=white>Equipo</th>";
echo 
"<th><font color=white>Unidad</th>";
echo 
"<th><font color=white>Precio</th>";
echo 
"<th><font color=white>Cantidad</th>";
while(
$row mysql_fetch_array($result))
{
//echo "<tr><td><input type ='text' size='5' maxlength='3' readonly= 'on' name='id[]' value ='".$row['id_material']."'</td>";
echo '<tr><td><font color=black>'.$row["id_material"].'</td>';
echo 
'<td><font color=black>'.$row["descripcion"].'</td>';
echo 
'<td><font color=black>'.$row["unidad"].'</td>';
echo 
'<td><font color=black>$'.$row["precio"].'</td>';
//Y así listas tus datos de la consulta
// Y de ultimo creas el text
echo "<td><input type ='text' size='5' maxlength='3' name='valores[]' value ='".$datos['id_material']."'</td>";
echo 
"</tr>";


echo 
"</table>" ;
?>
Y despues lo envio hacia otra pagina en la cual por medio de un foreach lo proceso, es decir hago el bucle y lo incerto en otra tabla:
Código PHP:
<?
foreach($_POST['valores'] as $datos){ 
$actividad=$_POST['actividad'] ;
$db="costos";
$tabla="materiales_actividad";
$conexion=mysql_connect("localhost","root") or die (mysql_error());
$db=mysql_select_db($db,$conexion) or die (mysql_error());
$sql="select * from $tabla ";
$result=mysql_query($sql,$conexion);
$sql="insert into $tabla(id_actividad,id_material,cantidad) values('$actividad','','$datos')";
$result=mysql_query($sql,$conexion) or die(mysql_error());

?>
Pero la cuestion es que necesito llevarme tambien el codigo del material, no solamente la cantidad y estaba pensando generar dos array, uno para la cantidad y el otro para el codigo del material, pero la cuestion es que no se si se puedan manejar dos foreach uno adentro del otro y si se puede que me expliquen como puedo yo hacer por favor y sino se puede como podria yo hacer para manejar esos dos valores e incertarlos en una tabla "x" a el mismo tiempo?

y es ahi que solicito de su ayuda.

desde ya gracias.

PD: Que buen foro!!!