Php Cataloogje
Alles loopt vrij goed maar heb slechts 1 probleem. Ik kan alles aanroepen en weergeven maar enkel het "groeperen" van de groepen lukt niet echt.
De database "products" heeft een table "articles".
* id (0001)
* maingroup (phones, accessoires, gadgets)
* group (mobilephones, phones, wired phones)
* subgroup (smartphone, pocketphone)
* brand (nokia, lg, samsung)
* type (E50, E65)
Ik heb een index pagina. Op deze pagina heb ik 3 tal hardgecodeerde links naar de de maingroups (phones, accessoires and gadgets).
Wanneer ik klik op de link "phones" zou ik graag de onderliggende groepen zien
* mobilephones
* phones
* wired phones
Wanneer ik klik op "mobilphones" zou ik dan de subgroep willen zien
* smartphone
* pocketphone
Wanneer ik dan uiteindelijk op "smartphone" klik zie ik mijn grid met thumbnails.
Misschien even kort de pagina's weergeven. Eerst heb ik mijn homepage.php met 3 maingroups (phones,accessories,gadgets). Dit is een hardgecodeerde pagina maar dit zou ik automatisch willen laten weergeven.
[linebreak]<a href="maingroup.php?detail=phones">Phone</a><br>[linebreak]<a href="maingroup.php?detail=Accessories">Accessories</a><br>[linebreak]<a href="maingroup.php?detail=Gadgets">Gadgets</a> [linebreak]
Wanneer de persoon klikt op "Phones" (maingroup.php?detail=phones) komt hij op een hardgecodeerde pagina (maingroup.php) met links. Dit is een hardgecodeerde pagina maar dit zou ik automatisch willen laten weergeven.
<a href="group.php?detail=mobile">mobile</a><br>
<a href="group.php?detail=fixed">fixed</a><br>
Wanneer de persoon klikt op "mobile" (subgroup.php?detail=mobile) komt hij op een hardgecodeerde pagina (subgroup.php) met links. Dit is een hardgecodeerde pagina maar dit zou ik automatisch willen laten weergeven.
<a href="subgroup.php?detail=Slidephone">Slidephone</a><br>
<a href="subgroup.php?detail=Candybar">Candybar</a><br>
Wanner de persoon klikt op "Slidephone" gaat hij naar subgroup.php?detail=Slidephone. Op deze pagina komt hij op een thumbnailpagina en daarna natuurlijk kunnen ze doorklikken naar het product zelf. Dit werkt allemaal perfect. Enkel het weergeven van groupen en subgroepen lukt me niet echt.
Iemand zei me als tip om iets te gebruiken met SELECT DISTINCT maar dat komt me totaal onbekend voor.
Ik weet dat er opensource catalogen bestaan maar de mijne werkt fantastisch behalve feit dat de productpagina's hard gecodeerd zijn en dat is niet zo updatebaar.
Ik ben niet zo'n held in php dus graag wat hulp! Thanks!
Gewijzigd op 01/01/1970 01:00:00 door Stedem dem
zie: http://www.phphulp.nl/php/tutorials/3/150/259/
edit: en het is catalogusje
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
Bedankt voor de tip, kga dit zeker eens doorlezen.
Wat bedoel je met datamodel klopt niet.
Je hebt een hoofdgroep > groep > subgroep
Ik zoek eenvoudige manier om zonder al te veel code eenvoudigweg deze weer te geven. Ik ben nie zo'n pro dus hoe eenvoudiger hoe beter
Als je denkt dat je genormaliseerd hebt, toon ons dan je datamodel. Dan kunnen we kijken of het allemaal goed gegaan is.
Ik zoek gewoon eenvoudig systeempje, is voor reeds bestaande cataloogje dus kan geen supergrote aanpassingen doen
Door te normaliseren voorkom je allereerst dat je data onnodig dubbel in je database gaat opslaan en daarmee dus de kans op corruptie van je database. Is de groep 'phones' nu hetzelfde als 'Phones' of 'PHONES', of zijn dat allemaal verschillende groepen.
Om een ander van de vele mogelijke problemen aan te stippen: wat doe je nu als je je subgroep onder wilt verderen. Dus als je bijvoorbeeld een onderverdeling wilt maken tussen smartphones met en zonder touchscreen? Dat is in je huidige datamodel onmogelijk tenzij je twee verschillende subgroepen aanmaakt.
Dit zijn nog de meest basale probleempjes waar je tegenaan kunt lopen, maar naarmate je systeem groter en complexer wordt zullen er veel grotere problemen de kop opsteken. Ga normaliseren en voorkom dat je later met de gebakken peren zit als je tot de conclusie moet komen dat je je huidige systeem niet verder kunt uitbreiden en eigenlijk helemaal opnieuw moet beginnen...
ps. Nog een heel handig artikel over het ontwerpen van een datamodel. Zeker de moeite waard om even door te lezen!
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
PK = Primary Key
FK = Foreign Key
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
products
-----------------
product_id INT PK
product_naam VARCHAR
product_prijs INT
product_category_id INT (FK naar category_id)
....
....
....
categories
-----------------------
category_id INT PK
category_naam VARCHAR
category_parent INT (FK naar category_id)
-----------------
product_id INT PK
product_naam VARCHAR
product_prijs INT
product_category_id INT (FK naar category_id)
....
....
....
categories
-----------------------
category_id INT PK
category_naam VARCHAR
category_parent INT (FK naar category_id)
Nu is het mogelijk om zoveel mogelijk categorieen en subcategorien aan te maken. Als category_parent ;leeg is, is het dus een hoofdgroep. Wil je echter dat een product in meerdere categorieen kan zitten dan zul je er nog een extra tabel bij moeten maken waarbij je producten aan categorieen koppelt.
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
Is toch geen php
Nee dit is MYSQL. De ruggengraat van je systeem.
Stel, je bouwt een wolkenkrabber en je komt niet hoger dan tien verdiepingen. Maar je wilt er twintig. Je vraagt aan een architect: "Hoe krijg ik er nog tien op?" Dan zegt die architect: "Je fundering deugt niet!" Nu is de keus aan jou. Je kunt er nog een paar verdiepingen bovenop plaatsen misschien, maar het gebouw wordt er wel een beetje wiebelig van ;-)