Digamos que cada una de las filas en su base de datos se ve así...
[product_id][product_name][product_description][product_price]
Cuando asigna su consulta, regresa a una variable pasada a través de mysql_fetch_assoc()
usando un bucle while, cada paso aislará una fila completa. De los cuales puede separar manualmente por referencia de clave de matriz ($array['product_id']
) o usando un bucle foreach. Creo que el problema que tienes es que estás mezclando esto. Teniendo en cuenta el diseño de la tabla de ejemplo anterior, podría hacer algo como lo siguiente:
while ($tableRow = mysql_fetch_assoc($query)) { // Loops 3 times if there are 3 returned rows... etc
foreach ($tableRow as $key => $value) { // Loops 4 times because there are 4 columns
echo $value;
echo $tableRow[$key]; // Same output as previous line
}
echo $tableRow['product_id']; // Echos 3 times each row's product_id value
}
Mire esta línea en su código:if ($product['id'] == $id) { }
Creo que probablemente te refieres a if ($row['id'] == $id) { }
en su lugar.