23. juli 2007 - 13:39Der er
7 kommentarer og 1 løsning
De rigtige database værdier?
Hej,
Jeg er ved at lave en lille shop og vil gerne kunne fastsæte prisen på forsendelse alt efter hvor meget det man køber vejer! Så jeg har en variabel med totalvægten på kurven, $productWeight (ja den skulle måske nok hellere hedde $cartWeight!) Derudover har jeg en tabel i min mysql database som indeholder vægt og tilhørende pris.
Dette er min funktion so far, men den er jo forkert, så jeg har brug for lidt hjælp: function getShippingCost($productWeight) {
lidt forklaring: $row['5']osv er værdierne af min f_weight fra databasen. Jeg tænkte man henter databasen ind i et array og så sammenligne man hver værdi hvor den rigtige værdi så vil komme frem, men hvordan er det lige det skal gøres rigtigt?
hov $shippingCost skal vist bare fjernes igen, det er et levn fra et tidligere forsøg! Måske skulle der indgå en for løkke istedet for if? tænker på en $i variabel som er afhængig af størrelsen på det array som hentes ind...hvis det giver mening det jeg siger! :-)
Jeg formoder du har en vægt på alle dine varer. Hvad med at trække dem med ud, når du alligevel trækker info om varen ud. Og så lave en samlet vægt og tjekke mod SQL:
SELECT f_price FROM tbl_forsendelse WHERE f_weight > $total_weight ORDER DESC LIMIT 1
Måske skal ORDER DESC lige vendes til ASC, men ideen holder! :op
Ja det lyder super, men hvad nu hvis min total vægt er 9kg og min tabel med vægt og pris har vægtene 1, 5, 10, 15 og 20 kg. Vil den så ikke returnere både 10, 15 og 20 kg priserne?
Nu virker det, jeg har lige tilføjet lidt til sql så det er rigtig syntax, men det er jo super meget nemmere! :-) Den endelige funktion ser således ud: function getShippingCost($productWeight) { $sql = "SELECT f_price FROM tbl_forsendelse WHERE f_weight >= '$productWeight' ORDER BY f_weight ASC LIMIT 1"; $result = dbQuery($sql); $row = dbFetchAssoc($result);
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.