Lave et "byg-selv-computer" script

Tags:    php

Hey.

Håber ikke overskriften er alt for forvirrende. Men altså, jeg er blevet bedt om at lave sådan et script til en webshop, hvor man kan samle sin egen computer. Se eksempel her: http://dt-online.dk/bpc_system/b/basis/genex_pc_basis_/_amd_s2800_da.html

Admin delen skal fungerer på den måde at man tilføjer en gruppe, og derefter tilføjer hvilke ting man selv skal kunne vælge til den.

F.eks. oprette en computer:

Navn: Test

Spec: <indsæt specifikationer her>

Valgmuligheder: Her skal man så kunne vælge hvilke ting, kunden skal skal kunne bestemme. F.eks. ram, motherboard - you got the idea! :D

Når det er udfyldt, sendes man videre til en side hvor man så indtaster de forskellige valgmuliger. Under ram skriver man f.eks. Kingston 256, Kingston 512, etc.

Det kunden så ser, er navnet på computeren, specs, og så en dropdown menu for hver af de ting man har valgt (ram, motherboard).


Jeg havde tænkt mig det hele skulle gemmes i et MySQL database.

Jeg er rimelig ny indenfor php. Men det jeg mangler er egentlig ikke en trin-for-trin guide eller noget. Jeg vil bare gerne høres hvordan det kan laves lettets. Så jeg ikke begynder at kode en masse, hvorefter jeg finder ud af, at det hele er lavet forkert.

Så, kom med jeres forslag.

Ps. Jeg vil helst ikke bruge et færdiglavet system, da jeg også ser det her som en træning i at programmere php.





6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hey.

Håber ikke overskriften er alt for forvirrende. Men altså, jeg er blevet bedt om at lave sådan et script til en webshop, hvor man kan samle sin egen computer. Se eksempel her: http://dt-online.dk/bpc_system/b/basis/genex_pc_basis_/_amd_s2800_da.html

Admin delen skal fungerer på den måde at man tilføjer en gruppe, og derefter tilføjer hvilke ting man selv skal kunne vælge til den.

F.eks. oprette en computer:

Navn: Test

Spec: <indsæt specifikationer her>

Valgmuligheder: Her skal man så kunne vælge hvilke ting, kunden skal skal kunne bestemme. F.eks. ram, motherboard - you got the idea! :D

Når det er udfyldt, sendes man videre til en side hvor man så indtaster de forskellige valgmuliger. Under ram skriver man f.eks. Kingston 256, Kingston 512, etc.

Det kunden så ser, er navnet på computeren, specs, og så en dropdown menu for hver af de ting man har valgt (ram, motherboard).


Jeg havde tænkt mig det hele skulle gemmes i et MySQL database.

Jeg er rimelig ny indenfor php. Men det jeg mangler er egentlig ikke en trin-for-trin guide eller noget. Jeg vil bare gerne høres hvordan det kan laves lettets. Så jeg ikke begynder at kode en masse, hvorefter jeg finder ud af, at det hele er lavet forkert.

Så, kom med jeres forslag.

Ps. Jeg vil helst ikke bruge et færdiglavet system, da jeg også ser det her som en træning i at programmere php.



Hm, Det nemmeste ville være at lave en sql_query hvor du henter det hardware det er tilgængeligt i en tabel. Lad os sige at vi skal lave den form der skal håndtere bundkort.
Fold kodeboks ind/udKode 


Så er bundkortene smidt ned i array, og med så echo'er jeg alle bundkortene ud med en while() som sørger for de allesammen kommer med.

Du kan evt. sortere efter pris ved at modifisere vores sql_query() så den ser sådan her ud:
Fold kodeboks ind/udKode 


Så kan du evt. bare lave en funktion der henter, eller bare gentage de gange du skal hente noget.

Til sidst kan du samle alle valgene i et array og bruge session_start() til at huske dem, og derefter sortere ned i din mysql :)


[Redigeret d. 28/12-05 21:57:33 af mads bjærge]



Tak for svaret! Dog er det ikke helt det jeg skal bruge. Dit script, kræver jo at bundkort er en fast mulighed hver gang.

I admin delen skal man selv kunne angive hvilke muligheder der skal være til hver computer. Så det er vel noget med at man skal i hente mulighederne i en tabel?

Havde tænkt mig at lave noget i stil med:

Databasen:

Fold kodeboks ind/udKode 


Og så bruge explode til at få Options ud i et array?

Men, hvordan kan admin delen laves smartest?

[Redigeret d. 28/12-05 22:25:17 af JanC]



Kan godt være jeg tager fejl, men tror der er en fejl i
Fold kodeboks ind/udKode 


Mener det skulle hedde
Fold kodeboks ind/udKode 


Ret mig hvis jeg tager fejl :D



Nu har jeg bare læst det igennem hurtigt, men jeg ville lave en del tabeller - noget ala:
- Producenter med felterne id og navn (fx [1, 'Asus'], [2, 'Kingston'] osv.)
- Hardwaretyper med felterne id og navn (fx [1, 'Bundkort'], [2, 'RAM'] osv.)
- Hardwarevariationer med felterne id, pid (producent), hid (hardwaretype), model, navn, specs og pris (fx [1, 1, 1, 'Bla. bla.', 'Intel chipset', 1200] osv.).
- Computere med felterne id, navn og evt. rabat (fx [1, 'Monster', 5%|200] osv.).
- Kombinationer med felterne id, cid (computer), vid (hardwarevariation)

På den måde skulle systemet gerne blive ret fleksibelt. Det er et hurtigt svar, så ved ikke om det er den bedste måde - og om man kan gøre det. Prøv at tegn nogle databasediagrammer eller noget :-)

Mikkel Meyer Andersen (mikl-dk)



Det skal vel præsiseres ydeligere ned i specifikationerne..

Jeg ville eksempelvis lave en tabel med bundkort, bundkort skal helst være første valg, for udfra bundkort specifikationerne kan alt det andet hardware vælges..

(skal blot ses som et eksempel)

tblBundkort
- Id
- producent
- pris
- ram [tblBundkortram]
- cpu [tblBundkortCPU]
- pci

tblBundkortRam
- id
- kompabilitet ()

tblBundkortCPU
- id
- socket

tblRam
- id
- producent
- pris
- bundkort [tblBundkortRam]


Smid så dine bundkort i tblBundkort, tblBundkortRam skal indeholde ex DDR, SD, DDR II, RD og EDO (bemærk nogle bundkort understøtter både DDR og DDR II, andre SD og DDR så lav en gruppe til dem også.)

tblBundkortCPU skal indeholde ex 478, 775, 939 og 940

Du kan herved hurtigt oprette nye socket understøttelse til din liste, samt tilføje ram technologier..

Har brugeren valgt et bundkort, er det let at generere de mulige sammensætninger, da du ved hvilke ram der understøttes, det samme med CPU..

Lav så efter følgende de tabeller der skal til for at lave resten af systemet, det kunne være PCI-e understøttelse eller ej, så kun den fandt PCIE grafkkort til bundkortene der måtte understøtte dette..

Laver du det sådan er det meget lettere at danne korrekte lister, så du er sikker på at hardwaren passer sammen.



Med venlig hilsen
/Jokke Jensen
www.jj-multimediedesign.dk



Det skal vel præsiseres ydeligere ned i specifikationerne..

Jeg ville eksempelvis lave en tabel med bundkort, bundkort skal helst være første valg, for udfra bundkort specifikationerne kan alt det andet hardware vælges..

(skal blot ses som et eksempel)

tblBundkort
- Id
- producent
- pris
- ram [tblBundkortram]
- cpu [tblBundkortCPU]
- pci

tblBundkortRam
- id
- kompabilitet ()

tblBundkortCPU
- id
- socket

tblRam
- id
- producent
- pris
- bundkort [tblBundkortRam]


Smid så dine bundkort i tblBundkort, tblBundkortRam skal indeholde ex DDR, SD, DDR II, RD og EDO (bemærk nogle bundkort understøtter både DDR og DDR II, andre SD og DDR så lav en gruppe til dem også.)

tblBundkortCPU skal indeholde ex 478, 775, 939 og 940

Du kan herved hurtigt oprette nye socket understøttelse til din liste, samt tilføje ram technologier..

Har brugeren valgt et bundkort, er det let at generere de mulige sammensætninger, da du ved hvilke ram der understøttes, det samme med CPU..

Lav så efter følgende de tabeller der skal til for at lave resten af systemet, det kunne være PCI-e understøttelse eller ej, så kun den fandt PCIE grafkkort til bundkortene der måtte understøtte dette..

Laver du det sådan er det meget lettere at danne korrekte lister, så du er sikker på at hardwaren passer sammen.



Med venlig hilsen
/Jokke Jensen
www.jj-multimediedesign.dk


Det skal ikke helt være sådan. For ham som har webshoppen, ved godt hvilket hardware der passer sammen.

Det eneste det skal kunne er:

Oprette en computer, derefter vælge hvilke valgmuligheder der skal være (f.eks. vælger han at på denne her computer er det kun ram der er valgfrit). Når det er gjort skal han komme til en side, hvor han kan indtaste hvilke slags ram man kan få. Og hvis han havde valgt bundkort også, skulle han også skrive hvilke bundkort der kan vælges i mellem.

Indtil videre skal i have en STOR TAK for jeres forslag.




t