primero esto que hiciste esta mal
<form method="post" action="carro.php?id=<?php $productos['id']&$productos['precio']; ?>&action=add">
<?php }else{?>
<form method="post" action="carro.php?id=<?php $productos['id']&$productos['precio']; ?>&action=add">
en todo caso seria
Código PHP:
Ver originalaction="carro.php?id=<?php $productos['id']; ?>&precio=<?php $productos['precio']; ?>&action=add">
respecto al mysql_fetch_array pañade las comillas a la consulta donde la id
en estas lineas el color si llega por post pero la id llega por get
echo "<tr>";
echo "<td align='left'> $_POST[id] </td>";
echo "<td align='left'> $_POST[color] </td>";
echo "<td align='center'>$x</td>";
seria asi
Código PHP:
Ver originalecho "<tr>";
echo "<td align='left'> $_GET[id] </td>";
echo "<td align='left'> $_POST[color] </td>";
echo "<td align='center'>$x</td>";
PRUEBA ESOS CAMBIOS Y YA ME COMENTAS Y SEGUIMOS
EL PRECIO EN EL FORMULARIO CREO QUE NO TE HACE FALTA POR QUE EN CARRO YA HACES UNA CONSULTA PARA SACAR EL PRECIO DEL PRODUCTO , PRUEBALO ASI COMO TE E DICHO PERO ASI TAMBIEN TE VALDRIA
Código PHP:
Ver originalaction="carro.php?id=<?php $productos['id']; ?>&action=add">
X LO QUE TE FALLA NO ES XQ NO LLEGUE EL PRECIO SI NO LA ID Y DE AY EL PRECIO