PHP - Problema con Mostrar Tabla y Menu

 
Vista:

Problema con Mostrar Tabla y Menu

Publicado por Gregory (7 intervenciones) el 01/11/2010 05:31:02
Hola amigos tengo un incoveniente debo hacer una tabla de productos de unna tienda de ropa, en columna izquierda voy a mostrar el producto, y en la columna derecha los datos del producto color y talla, hasta ahora he probado con mostrar el color mediante un menu pero como lo hice se muestra el color solo para los primeros productos y además se muestran 2 menus y con el mismo dato de la celda de la tabla, para los demás productos queda en blanco el menu de cada uno de ellos, Hasta ahora solo hay 2 colores guardados en la base de datos. Yo quisiera mostrar el producto y en la columna de al lado colocar un menu con los colores están guardados, pero me parece que no se puede porque cuando recorro una consulta a la base de datos lo hace es fila por fila en lugar de mostrar directamente todos las opciones en el menú, bueno aquí está el código si alguien me puede ayudar y gracias.

<?php
include ("conexion.php");
$query_producto=mysql_query ("select descripcion from producto",$conexion);
$query_color=mysql_query ("select id from color",$conexion);
$num_producto=mysql_num_rows($query_producto);
$num_color=mysql_num_rows($query_color);
for($i=0;$i<$num_producto;$i++) {
$row_producto=mysql_fetch_array($query_producto);
$row_color=mysql_fetch_array($query_color);
echo $row_producto[0];
$resultado="";
$resultado.="<form method= post action=procesar_pedido.php><table border=1 width=750 align=center><tr><td>Celda 1</td><td width=200 align=center><select name=menu_producto><option>$row_producto[descripcion]</option></select><br>";
for($j=0;$j<$num_color;$j++){
$resultado.="<select name=menu_color[]><option>$row_color[id]</option>\n</select>";
}
$resultado.="</td></table></form>";
echo "$resultado";
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con Mostrar Tabla y Menu

Publicado por Raúl Vargas (13 intervenciones) el 01/11/2010 20:36:14
Hola, me parece que más que problema de php, es un problema de diseño de las tablas relacionales; ¿Cómo relaciona el producto con los colores disponibles? o ¿Todos los productos pueden tener todos los colores? ¿La cantidad de colores es ilimitada? ¿Cada producto tiene pocos colores? ¿Y si en lugar de colores son diseños estampados? ¿Se debe mostrar foto?

Además en lugar el for con contador, yo usaría , por ejemplo:

$reslibro=mysql_query("select * from libros where li_codigo = $item",$conexion);
if ($reslibro and mysql_num_rows ($reslibro) > 0 )
WHILE ($L = mysql_fetch_array($reslibro))
{
........ mostrar los campos .............
}

Si la cantidad de colores es poca, una solución rápida y poco elegante, pero práctica, es crear un campo por cada color , el campo sería booleano, si existe el color, estaría en true y si es true lo mostraría.

Si son muchos los colores e indeterminados, habria que tener la tabla de colores relacionada con el código del producto, es decir un registro por cada color que tenga el producto; haría un recorrido de los productos que se quieren ver y por cada producto una búsqueda de todos los colores guardados y los mostraría. Es decir un bucle o recorrido de los colores dentro del bucle de los productos, tienes que tener cuidado con la búsqueda de colores, pues tienes que resetear el vector por cada vez que llegues a un producto, para volver a cargarlo.

Espero se haya entendido.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar