Ik heb me suf gezocht naar een oplossing voor mijn probleem.
Ik heb een database vol met aanbiedingen, aan iedere aanbieding zit een categorie_id. Die categorie id is nuttig voor het bepalen van de categorie waaronder de aanbieding valt. [categorien zijn meestal 4 diep]
dit is de tabel van de categorien:
Ik had in het verleden altijd de categorien zelf in de tabel van de aanbiedingen staan maar dat kan nu niet meer, indertijd werkte het met de +- volgende code:
Het eigenlijke probleem is het volgende:: een aanbieding kan voorkomen in meerdere categorieën, dus ik kan niet een loopje maken en dan alles uitzetten, want dan zou hij de aanbieding bij 1 van de categorien weglaten.
Weet iemand hoe ik mijn queries moet opbouwen om dit voor elkaar te krijgen, keb de hele dag al lopen prutsen en nu heb ik koppijn
Vraag maar raak en ik geef info...
Ik heb een database vol met aanbiedingen, aan iedere aanbieding zit een categorie_id. Die categorie id is nuttig voor het bepalen van de categorie waaronder de aanbieding valt. [categorien zijn meestal 4 diep]
dit is de tabel van de categorien:
code:
1
2
3
4
5
6
7
| CREATE TABLE cat ( id int(10) NOT NULL auto_increment, //cat_id die in aanbieding tabel staat. iid int(10) NOT NULL auto_increment, //aanbieding id cat_pos int(10) NOT NULL default '', //positie van nesten cat varchar(55) NOT NULL default '', // de naam van de categorie PRIMARY KEY (id) ) TYPE=MyISAM; |
Ik had in het verleden altijd de categorien zelf in de tabel van de aanbiedingen staan maar dat kan nu niet meer, indertijd werkte het met de +- volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <? include("lowscripts/functions/print_body.php"); include("lowscripts/functions/image_print_offers/preload_images.php"); include("lowscripts/functions/image_print_offers/create_thumbnail.php"); $query_1 = dbExQuery("SELECT DISTINCT(cat) FROM cat WHERE cat_pos = '0'"); while($result_1 = dbFetchObject($query_1)) { print $result_1->cat . "<br />"; $query_2 = dbExQuery("SELECT DISTINCT(cat) FROM aanbieding"); while($result_2 = dbFetchObject($query_2)) { $query_3 = dbExQuery("SELECT product FROM aanbieding WHERE sub_cat = '$result_2->sub_cat' AND cat = '$result_1->cat' ORDER BY product ASC"); print " " . $result_2->sub_cat . "<br />"; while($result_3 = dbFetchObject($query_3)) { print " " . $result_3->product . "<br />"; } } } ?> |
Het eigenlijke probleem is het volgende:: een aanbieding kan voorkomen in meerdere categorieën, dus ik kan niet een loopje maken en dan alles uitzetten, want dan zou hij de aanbieding bij 1 van de categorien weglaten.
Weet iemand hoe ik mijn queries moet opbouwen om dit voor elkaar te krijgen, keb de hele dag al lopen prutsen en nu heb ik koppijn
Vraag maar raak en ik geef info...
[ Voor 8% gewijzigd door wboard op 15-10-2004 15:52 ]
A smooth sea never made a skilled sailor