Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/09/2011, 09:44
mike2586
 
Fecha de Ingreso: marzo-2009
Mensajes: 4
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Problema con un búcle para 2 arrays cada uno a una variable distinta

Hola, tengo una duda que me trae de cabeza. Tengo un catalogo de productos alimentado dinámicamente, y generado por un bucle for. Tengo dos variables que extraer del mismo con un form, una con un check box y otra hidden. El problema está en que el array para el checkbox funciona perfecto y lo relaciona con el producto correspondiente, sin embargo, la del hidden la interpreta como un orden correlativo, de modo que si selecciono 3 productos diferentes, el primer array lo hace con los productos seleccionados pero el hidden lo hace con los productos 1, 2 y 3. Esto a pesar de que al revisar el código fuente de la página de salida, el value del input hidden es el correcto.

Alguna idea, o si ven algo raro en el bucle que pueda generar este error en la iteración del segundo array¿?

Acoto también que generar 2 bucles diferentes uno para cada variable no funcionó, en la segunda variable la iteración daba como resultado un array de todos los productos y no del seleccionado.

Código PHP:
<div id="shopping-cart"> 
<img src="xxxxxxxxxxxx" width="40" height="40" alt="shopping cart icon" /> <h3>Artículos Seleccionados</h3> 
 
<ul> 
<? 
if (isset($_POST["producto"],$_POST["precio"])) 

$producto $_POST["producto"]; 
$precio $_POST["precio"]; 
for(
$count 0$count sizeof($producto); $count++) 
?>
 
 
<li> 
<? echo $producto[$count]; ?>
 
<? echo $precio[$count]; ?>
 
</li> 
 
<? 


?>
 
 
</ul> 
     
</div> 
     
<form action="catalogo.php" name="pedidos" method="POST" > 
<p class="enunciados">Selecciona todos los artículos que deseas comprar y luego haz click en el botón cotizar</p><input type="submit" value="Cotizar" name="enviar" class="floated-button" /><input type="reset" value="Borrar todo" class="floated-button" /> 
 
<? 
$query2
="SELECT * FROM catalogo ORDER BY id asc"
$resul2=mysql_query($query2); 
$numresults2=mysql_num_rows($resul2); 
?>
 
 
<ul id="catalogo"> 
 
<? 
for ($a=0$a <$numresults2$a++) 
{   
$row2=mysql_fetch_array($resul2); 
?>
    
 
<li class="<? echo ($row2['categoria']);?>"> 
 
<span>
<?   echo ($row2['codigo']).' | '.($row2['categoria']).' <input type="checkbox" name="producto[]" value="'.($row2['codigo']).' '.($row2['nombre']).' '.number_format(($row2['precio']),2,",",".").'" style="float:right; margin-top:0px;"/>'
' <input type="hidden" name="precio[]" value="'.number_format(($row2['precio']),2,",",".").'" />';?>
<br /></span> 
<img src="<? echo ($row2['foto']); ?>" alt="<? echo ($row2['foto_alt']); ?>" /> 
<p><strong>
<? echo ($row2['nombre']); ?>
</strong><br /> 
<? echo '<strong>Modelo:</strong> '.($row2['modelo']); ?>
<br /> 
<? echo '<strong>Marca:</strong> '.($row2['marca']); ?>
<br /> 
<? echo '<strong>Precio:</strong> '.number_format(($row2['precio']),2,",","."); ?>
<br /> 
<? echo '<strong>Descripción:</strong></p>'.'<p style="line-height:1em;">'.($row2['descripcion']).'</p>'?>
 
 
</li> 
     
<? 

?>
 
 
</ul><br /> 
 
<p class="enunciados">Selecciona todos los artículos que deseas comprar y luego haz click en el botón cotizar</p><input type="submit" value="Cotizar" name="enviar" class="floated-button" /><input type="reset" value="Borrar todo" class="floated-button" /> 
</form> 
</div> 
</div>