no logro entender lo que pretendes realizar, sin embargo, puedo ver(en lo poco que entiendo) es que realmente no estas pasando arreglos por lo tanto el foreach no te funcionará ademas de que por cada tr que se cree dentro del while estas creando un form con el mismo nombre.
tal vez y digo tal vez porque la verdad es que no tengo tiempo por ahora para hacer unas pruebas, si sacaras el form a lo mejor te pudiera funcionar
Código PHP:
function agregar($p, $nom)
{
$pre=$p;
$no=$nom;
$conta=0;
echo '<input type="hidden" name="prec[]" value="'. $pre .'">';
echo '<input type="hidden" name="nomb[]" value="' . $no . '">';
}
y lo pones así
Código PHP:
<form name="ag" method="post" target="blank" action="carrocomp.php">
<?php
$rescons="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcion,precio_oferta From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto AND nombre_prod LIKE '%$busqueda%' Order By nombre_prod Desc";
$resquery=mysql_query($rescons);
//echo mysql_errno().": ".mysql_error()."<BR>"; echo $rescons;
if(mysql_num_rows($resquery)!=0)
{
while($filas=mysql_fetch_array($resquery))
{
$precio=$filas[precio_oferta];
?>
<tr>
<td height="61" valign="top" bgcolor="#FFFFFF"><?php echo $nombre=$filas["nombre_prod"]; agregar($precio, $nombre);?></td>
<td valign="top" bgcolor="#FFFFFF"><?php echo $image;?></td>
<td valign="top" bgcolor="#FFFFFF"><?php echo $filas["descripcion"]; ?></td>
<td colspan="2" valign="top"><?php echo $filas["caract_tecnolog"] .'<br>'. '<font color="blue">'. "Precio : ". $precio; '</font>'?>
</td>
</tr>
<?php
}
}
?>
<input type="submit" name="comp" value="comprar">
</form>
suerte y saludos.