Avatar billede Slettet bruger
16. november 2004 - 19:06 Der er 22 kommentarer og
1 løsning

prisdatabase til "biler"

Jeg skal til at lave en prisdatabase lidt ala edbpriser.dk
Jeg er ret sikker på at dette kan lade sig gøre i php, da edbpriser.dk er lavet i asp.
Mit problem er derimod, hvordan jeg skal opbygge hjemmesiden. Jeg kan ikke afsløre noget konkret om firmaet, så hvis vi siger at det er biler jeg arbejder med:

-->

Jeg kan søge efter en bil med f.eks. 5 døre af mærket opel.

så finder jeg en bil og trykker på et link, derefter kommer jeg ind og ser tekniske specifikationer.

<---

dette er ikke noget problem

Mit problem er, at man nu skal kunne se alle forhandlere af denne bil.


Hver bilforhandler skal kunne indsætte deres biler i min database. Derfor skal jeg på en eller anden måde kunne få php til at samle alle biler af samme type, for at alle forhandlere af denne bil bliver vist.
Avatar billede coderdk Praktikant
16. november 2004 - 19:14 #1
Du bør læse noget om databasedesign ;-)
Avatar billede Slettet bruger
16. november 2004 - 19:34 #2
jep.. det du søger er en meget simpel databaseforespørgsel.. Hvis du går i gang med dit system, finder du nok hurtigt en løsning på dit problem..
Avatar billede Slettet bruger
16. november 2004 - 21:34 #3
vil i ikke prøve at forklare det, eller give et link til databasedesign..
Avatar billede Slettet bruger
17. november 2004 - 06:57 #4
hvor meget ved du om php og databaser??
Avatar billede Slettet bruger
17. november 2004 - 06:59 #5
og hvor langt er du med dit projekt.. er det kun sql'en du søger??
Avatar billede Slettet bruger
17. november 2004 - 07:00 #6
det er opsætningen jeg mangler at finde ud af - teoretisk, jeg er ikke begyndt på resten!
Avatar billede Slettet bruger
17. november 2004 - 07:07 #7
ok.. hvis hver forhandler skal have en "profil", skal du have 2 tables... en forhandlertabel, hvor der er noget lignende disse felter:

id
navn
adresse

Så skal du have en table med biler, der ser nogenlunde sådan har ud:

id
forhandlerid
navn
alder
km
farve
osv..

Når du så søger, søger du bare efter alle biler af denne type, og bruger det forhandlerid, du får fra denne søgning til at finde alle forhandlere af denne slags bil..
Avatar billede Slettet bruger
17. november 2004 - 16:32 #8
yes jeg er helt med på det.. jeg har som sagt prøvet det før :P

mit problem er, at få samlet alle biler af samme mærke og model...
jeg tror dog at jeg vil gøre dette ved at lave 2 nye tabeller:

maerke

id
navn


model

id
maerkeid
navn


og så i bil-tabellen:

id
forhandlerid
modelid
navn
alder
osv..
Avatar billede Slettet bruger
17. november 2004 - 18:28 #9
du skal have model og mærke i din bil-tabel:

id
forhandlerid
modelid
navn
alder
maerke
model
osv..

så laver du en søgning efter alle biler med xxx mærke og xxx model
Avatar billede coderdk Praktikant
17. november 2004 - 18:43 #10
kvadratrodenaf1, Nej, han har modelid, modelid har maerkeid, så dem kan han nemt finde ;) Det er en fin normalisering!
Avatar billede Slettet bruger
17. november 2004 - 19:01 #11
er det lidt ros til mig coderdk?

:P
Avatar billede coderdk Praktikant
17. november 2004 - 19:12 #12
wicez, Ja da :) Det var jo korrekt, så det eneste du mangler er bare at sammensætte et par SQL-statements, så er du kørende ;)
Avatar billede Slettet bruger
17. november 2004 - 19:14 #13
det er så også mit problem, jeg er ikke helt så hård til at bruge SELECT i flere tabeller i samme sætning osv..

hvis jeg skulle lave det ville det blive noget med en masse if sætninger samt flere mysql_queries...
Avatar billede coderdk Praktikant
17. november 2004 - 20:28 #14
Det er meget nemt! Kig evt. på http://www.w3schools.com/sql/sql_join.asp
Og så for din egen skyld brug den pæne "INNER JOIN" syntaks!
Et eksempel er:

SELECT
  b.navn as bilnavn
  ,b.alder
  ,mo.navn as modelnavn
  ,ma.navn as maerkenavn
FROM
  bil b
INNER JOIN
  model mo
ON
  b.modelid = mo.id
INNER JOIN
  maerke ma
ON
  mo.maerkeid = ma.id

:)
Avatar billede Slettet bruger
23. november 2004 - 14:44 #15
jeg vil prøve join, coderdk - smid svar tak
Avatar billede coderdk Praktikant
23. november 2004 - 15:15 #16
Aight :)
Avatar billede Slettet bruger
23. november 2004 - 15:17 #17
:D
Avatar billede Slettet bruger
23. november 2004 - 22:19 #18
i stedet for biler er det cykler nu.. og jeg er ved at få et problem..

min query ser sådan ud:
$query = mysql_query
("
SELECT * FROM cykler, cykelhandlere, gear, gear_position, koen, maerke, model
WHERE cykelhandlere.id=cykler.forhandlerid
AND gear.id=cykler.geartypeid
AND gear_position.id=gear.positionid
AND koen.id=cykler.koenid
AND model.id=cykler.modelid
AND maerke.id=model.maerkeid
") or die(mysql_error());

hvis jeg så siger:

$row = mysql_fetch_array($query);

Hvordan kan jeg så få fat på f.eks. mærkenavnet?
ved:

$row['maerke.navn'] ?
Avatar billede coderdk Praktikant
23. november 2004 - 22:25 #19
Den bliver "ambigous" hvis du har flere felter med sammen navn - Du bør vænne dig af med at bruge SELECT * FROM - brug i stedet SELECT felt1, felt2 FROM osv... Så kan du lave SELECT maerke.navn as mnavn FROM - så referer du som normalt: $row['mnavn']...
Avatar billede coderdk Praktikant
23. november 2004 - 22:25 #20
ehhe ja som min kommentar 17/11-2004 20:28:54
Avatar billede Slettet bruger
24. november 2004 - 16:46 #21
det virker.. mange tak :P

her er det:

$query = mysql_query
("
SELECT
cykler.`antal gear` as antal_gear,
cykler.skaerme as skaerme,
cykler.bagagebaerer as bagage,
cykler.kurv as kurv,
cykler.stoerrelse as stoerrelse,
cykler.stoetteben as stoetteben,
cykler.pris as pris,
cykler.laas as laas,
gear.navn as gear,
gear_position.navn as gear_pos,
koen.navn as koen,
model.navn as model,
maerke.navn as maerke,
cykelhandlere.navn as forhandler
FROM cykler, cykelhandlere, gear, gear_position, koen, maerke, model
WHERE cykelhandlere.id=cykler.forhandlerid
AND gear.id=cykler.geartypeid
AND gear_position.id=gear.positionid
AND koen.id=cykler.koenid
AND model.id=cykler.modelid
AND maerke.id=model.maerkeid
") or die(mysql_error());

lidt sygt synes jeg :D
Avatar billede coderdk Praktikant
24. november 2004 - 16:49 #22
hehehe :) så skulle du se nogle af de syge SQL-statements jeg har lavet gennem tiden - Nogle af dem kunne man få hovedpine af at studere :D
Avatar billede Slettet bruger
24. november 2004 - 18:51 #23
:P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester