Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/08/2013, 02:31
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: duda sobre relaciones n:m

para listar ordenado por categorías y luego por nombre de producto, usas algo así
Código MySQL:
Ver original
  1. SELECT p.nombre,
  2.            p.estado,
  3.            c.nombre
  4.  FROM productos p
  5.   INNER JOIN producto_has_categoria pc
  6.    ON p.idproducto = pc.producto_idproducto
  7.  INNER JOIN categorias c
  8.    ON pc.categoria_idcategoria = c.idcategoria
  9.  ORDER BY c.nombre,
  10.                p.nombre

Esto te mostrará los datos de productos que tienen categoría asignada.

No nos has dicho si tus tablas son MyIsam o InnoDB. Es importante saberlo, pues InnoDB controla la integridad referencial.
Para añadir, primero insertas el producto, luego insertas la categoría si es que no existe, claro, y posteriormente insertas la categoría del producto (con los identificadores del producto y de categoría). Pero si tu duda se refiere a cómo se hace un formulario con selectores, etc., deberías pedir ayuda en el foro de HTML y en el de programación del programa que uses.