我正在做一個產品系統,產品可以包含在一個集合中。顯示產品或集合
在產品頁面中,我展示了所有產品,但是如果某個產品是INSIDE集合,我只需要顯示集合名稱而不是產品本身。我的意思是,隱藏集合內的產品和顯示集合一次同時還顯示其他產品(不包括集合)。
表1:colecciones(西班牙語中的「集合」) - 我在哪裏存儲集合的ID和名稱。
CREATE TABLE `colecciones` (
`id` INT(255) NOT NULL AUTO_INCREMENT ,
`nombre` VARCHAR(100) NOT NULL ,
PRIMARY KEY (`id`)
);
INSERT INTO `colecciones`
(`nombre`)
VALUES
('dulce'),('salado'),('agrio')
;
http://sqlfiddle.com/#!9/8534e/1/0
表2:PRODUCTOS( 「產品」) - 我在哪裏存儲產品,如果它是一家集裏面,收集ID(列 「COLECCION」)。如果沒有,則該值爲0
CREATE TABLE `productos` (
`id` INT(255) NOT NULL AUTO_INCREMENT ,
`nombre` VARCHAR(100) NOT NULL ,
`coleccion` INT(255) NOT NULL ,
PRIMARY KEY (`id`)
);
INSERT INTO `productos`
(`nombre`, `coleccion`)
VALUES
('manzana',1),('salmon',2),('sandia',0),('sopa',3),('pera',1),('agua',0)
;
http://sqlfiddle.com/#!9/6aef2/1/0
望着例如,名爲「MANZANA」(蘋果)該產品是集合的一部分「杜爾塞」(甜),和產品「阿瓜「(水)不是任何收集的一部分。
我希望展示的是這樣的:
<h1>My products</h1>
dulce /* (ID 1 table `colecciones`) because I have products with "coleccion = 1" */
salado /* (ID 2 table `colecciones`) because I have products with "coleccion = 2" */
sandia /* the product itself, not collection */
agrio /* (ID 3 table `colecciones`) because I have products with "coleccion = 3" */
agua /* the product itself, not collection */
我堅持這一點。如何用PHP以這種方式顯示數據?
我需要訂購像productos.id DESC
,我通過在末尾添加完成:
ORDER BY c.`id` DESC
嗨戈登。第一個查詢對我來說非常有用,非常感謝!請幫助我理解;爲什麼會有一些字母(關於「c.name」,「productos p」,「colecciones c」等)? –
現在的東西是產品顯示像「ORDER BY productos.nombre ASC」,但我需要「ORDER BY productos.id DESC」(最新的產品顯示之前)。 –
@JimmyAdaro。 。 。這不會以任何特定順序返回產品。你的問題沒有提到順序。 –