Avatar billede napisok Nybegynder
25. april 2005 - 20:24 Der er 3 kommentarer

OOP - relation

Jeg har 3 klasser, kundeaftale, faktura og produkter. En faktura består af flere produkter og en kundeaftale.
Hvordan laver man relationerne i invoice, når invoice består af variablerne totalpris og dato.
Samtidig skal jeg finde ud af hvordan man laver sql-sætningen for opretInvoice. Variablerne i produkt er varenavn, pris og kundeaftale er navn, adresse, rabatpris ved en bestemt mængde. Er der nogen der kan give mig et kodeeksempel
Avatar billede napisok Nybegynder
25. april 2005 - 21:25 #1
Min første ide på faktura var:
class Faktura{
var $date;
var $totalpris;
var $kunde;
var $produkt;
function faktura(){
$this->date=null;
$this->totalpris=0;
$kunde= array();
$produkt= array();}
function setKunde($kunde){
$this->kunde=$kunde;}
function getKunde(){
return $this->kunde;}
(det samme get og set for produkt, totalpris og dato), men det virker selvfølgelig ikke hvor fejler jeg. Takker
Avatar billede cpfrande Nybegynder
26. april 2005 - 15:15 #2
Din relation laver du jo f.eks. ved hjælp af en database eller lign.
Du skal relaterer produkter til en faktura ved f.eks. at gemme fakturaens ID ved et købt produkt.

Håber det hjalp dig lidt på vej... :-)
Avatar billede napisok Nybegynder
26. april 2005 - 20:40 #3
I databasen skriver jeg pg_query("insert (date, totalpris, foreignKundeId, foreignProduktId, fakturaId) into faktura values()");
Det er en opgave jeg laver på et itkursus, hvor min lærer sagde at man i den objektorienteret kode ikke kunne se associeringen imellem klasserne (som jeg kalder relationer). Jeg så at du havde lavet et eksempel for en anden, men det kan jeg ikke rigtig finde ud af, derfor prøvede jeg at kode det på denne måde som ovenstående, man ved jo aldrig hvor mange produkter der er til en faktura, alt bliver indtastet via homepage. I første omgang havde jeg kode som følger:
class Faktura{
var $date;
var $totalpris;
var $fakturaId;

function Faktura(){
}
og set og get metoder for faktura
}
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