halkal Skrevet 8. september 2004 Del Skrevet 8. september 2004 Hei! , har en kode som ser sånn ut : if ($m2_total < 10) { $m2_price_sqm = 850; } elseif ($m2_total >= 10 || $m2_total < 50) { $m2_price_sqm = 800; } elseif ($m2_total >= 50 || $m2_total < 200) { $m2_price_sqm = 750; } elseif ($m2_total >= 200 || $m2_total < 500) { $m2_price_sqm = 700; } elseif ($m2_total >= 500 || $m2_total < 1000) { $m2_price_sqm = 650; } elseif ($m2_total > 1000) { $m2_price_sqm = 600; } det som er feil er at når $m2_total overstiger 50, så blir ikke $m2_price_sqm = 750 eller mindre.. uansett hvor stor $m2_total er , noen som vet hva som er feilen her.. sorry er litt newbie i php Lenke til kommentar
Simon Zimmermann Skrevet 8. september 2004 Del Skrevet 8. september 2004 (endret) Jeg kan ikke PHP, men det er vel helt ulogisk å bruke eller (||) istedenfor og (&&)? Correct me if I'm wrong. Endret 8. september 2004 av Waldmeister Lenke til kommentar
Atpn Skrevet 8. september 2004 Del Skrevet 8. september 2004 hva med å snu det hele på hodet og starte med if($m2_total > 1000) { //noe skjer } elseif($m2_total <= 500) { //noe annet skjer } osv... Da slipper du unna bruken av $m2_total <= "en verdi" || $m2_total > "en annen verdi" som for meg så litt tungvidt ut Lenke til kommentar
halkal Skrevet 8. september 2004 Forfatter Del Skrevet 8. september 2004 (endret) Jeg kan ikke PHP, men det er vel helt ulogisk å bruke eller (||) istedenfor og (&&)?Correct me if I'm wrong. doh!.. ja var jeg som misforstod.. mente jeg leste at | var eller og at || var og.. men da tok jeg feil, når jeg byttet ut || med && så fungerte det! tusen takk =) Endret 8. september 2004 av halkal Lenke til kommentar
TiMMi- Skrevet 8. september 2004 Del Skrevet 8. september 2004 if ($m2_total < 10) { $m2_price_sqm = 850; } elseif ($m2_total >= 10 && $m2_total < 50) { $m2_price_sqm = 800; } elseif ($m2_total >= 50 && $m2_total < 200) { $m2_price_sqm = 750; } elseif ($m2_total >= 200 && $m2_total < 500) { $m2_price_sqm = 700; } elseif ($m2_total >= 500 && $m2_total < 1000) { $m2_price_sqm = 650; } elseif ($m2_total > 1000) { $m2_price_sqm = 600; } Jeg tror dette skal funke fint Lenke til kommentar
halkal Skrevet 8. september 2004 Forfatter Del Skrevet 8. september 2004 hva med å snu det hele på hodet og starte medif($m2_total > 1000) { //noe skjer } elseif($m2_total <= 500) { //noe annet skjer } osv... Da slipper du unna bruken av $m2_total <= "en verdi" || $m2_total > "en annen verdi" som for meg så litt tungvidt ut tenkte på det men hvis $m2_total er f.eks 200 så ville det ha stoppet opp ved elseif($m2_total <= 500) for da ville kriteriet være oppfylt, da ville den ikke gått videre til elseif($m2_total <= 200) skulle jeg da mene, grunnen til at jeg brukte || , eller && som nå var riktig er at det gjaldt verdier fra 1000 til 500, 499 til 200 osv.. hvis det finnes noe måte å gjøre det uten å bruke && på, så ville jeg satt pris på det hehe.. skulle vært noe sånt som elseif($m2_total == 200<->500) Lenke til kommentar
halkal Skrevet 8. september 2004 Forfatter Del Skrevet 8. september 2004 btw.. takk for hjelpen alle sammen =) Lenke til kommentar
Atpn Skrevet 8. september 2004 Del Skrevet 8. september 2004 (endret) nei, jeg tenkte litt feil. Hvis du gjør følgende så stemmer det jeg sa: if($m2_total > 1000) { //noe skjer } elseif($m2_total >= 500) { //noe annet skjer } Endret 8. september 2004 av Atpn Lenke til kommentar
Klette Skrevet 8. september 2004 Del Skrevet 8. september 2004 Du kan jo rydde det opp i en switch statement =) http://no.php.net/manual/en/control-structures.switch.php Lenke til kommentar
halkal Skrevet 9. september 2004 Forfatter Del Skrevet 9. september 2004 nei, jeg tenkte litt feil.Hvis du gjør følgende så stemmer det jeg sa: if($m2_total > 1000) { //noe skjer } elseif($m2_total >= 500) { //noe annet skjer } ahh doh, ja det vil nok fungere lol.. det hadde jeg ikke tenkt på :-D hvorfor gjøre det lett når man kan gjøre det komplisert ? Lenke til kommentar
Simon Zimmermann Skrevet 9. september 2004 Del Skrevet 9. september 2004 halkal: Som Klette sier så er nok en switch setning det mest korrekte og oversiklige å bruke. Lenke til kommentar
halkal Skrevet 9. september 2004 Forfatter Del Skrevet 9. september 2004 takk! da blei det en switch setning istedenfor switch ($m2_total) { case $m2_total > 1000: $m2_price_sqm = 600; break; case $m2_total >= 500: $m2_price_sqm = 650; break; case $m2_total >= 200: $m2_price_sqm = 700; break; case $m2_total >= 50: $m2_price_sqm = 750; break; case $m2_total >= 10: $m2_price_sqm = 800; break; default: $m2_price_sqm = 850; } er dette riktig? må være, det fungerte ihvertfall lol . hvis noen har noen flere forslag på hvordan det kan gjøres bedre, med kortere kode osv så kom med det =) Lenke til kommentar
Inge_P Skrevet 9. september 2004 Del Skrevet 9. september 2004 tja...har et forslag på 13 linjer istedet for 19 linjer da... $array = array( '0' => '850', '10' => '800', '50' => '750', '200' => '700', '500' => '650', '1001' => '600' ); foreach($array as $m2_stk => $m2_price){ if($m2_total >= $m2_stk){ $m2_price_sqm = $m2_price; } } Lenke til kommentar
halkal Skrevet 10. september 2004 Forfatter Del Skrevet 10. september 2004 tja...har et forslag på 13 linjer istedet for 19 linjer da... $array = array( '0' => '850', '10' => '800', '50' => '750', '200' => '700', '500' => '650', '1001' => '600' ); foreach($array as $m2_stk => $m2_price){ if($m2_total >= $m2_stk){ $m2_price_sqm = $m2_price; } } bra need4sms :-D begynner å bli bra dette nå =) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå