Finder ikke prisen
Hej,jeg har en kode, der ser ud som den nedenfor. Der findes 5 forskellige prisintervaller i tabellen, og alt efter bestilte antal stk, skal den rigtige pris findes i tabellen. Er der et af intervallerne, hvor der ikke er oprettet en pris, skal prisen for et lavereliggende interval gælde.
Eksempel:
pris 1 - 2 stk: 100,-
pris 3 - 4 stk: 90,-
pris 5 - 9 stk: 80,-
pris 10 - 19 stk: 70,-
pris 20 + stk: 60,-
Bestilles der 8 stk, er prisen pr. stk altså 80,-
MIT PROBLEM:
Hvis der ikke er oprettet en pris for prisintervallet 5-9 stk, er det prisen for 3-4 stk, der skal gælde. Dermed gælder den i princippet for intervallet 3-9 stk.
Jeg har lavet følgende kode til at finde prisen, men hvis et af intervallerne i databasen er tomt, får jeg bare en værdi på 0 og ikke den prisen fra det lavereligennede prisinterval :-(
Hvordan klarer jeg den? Jeg kan virkelig ikke se at der er en fejl her...
// Henter connection og prisintervallerne for varen
include("../admin/connect.php");
$q_priser = mysql_query("SELECT pris, pris3stk, pris5stk, pris10stk, pris20stk FROM egne_varer WHERE id_vare = '$_POST[id_vare]'");
$prisinterval = mysql_fetch_assoc($q_priser);
// Finder ud af hvilken pris der skal gælde
// 20 + stk.
if($_POST[antal] > '19') {
if($prisinterval[pris20stk] <> '') {
$pris = $prisinterval[pris20stk];
} elseif($prisinterval[pris20stk] == '') {
$pris = $prisinterval[pris10stk];
} elseif($prisinterval[pris10stk] == '') {
$pris = $prisinterval[pris5stk];
} elseif($prisinterval[pris5stk] == '') {
$pris = $prisinterval[pris3stk];
} elseif($prisinterval[pris3stk] == '') {
$pris = $prisinterval[pris];
}
}
// 10 - 19 stk.
elseif(($_POST[antal] > '9') AND ($_POST[antal] < '20')) {
if($prisinterval[pris10stk] <> '') {
$pris = $prisinterval[pris10stk];
} elseif($prisinterval[pris10stk] == '') {
$pris = $prisinterval[pris5stk];
} elseif($prisinterval[pris5stk] == '') {
$pris = $prisinterval[pris3stk];
} elseif($prisinterval[pris3stk] == '') {
$pris = $prisinterval[pris];
}
}
// 5 - 9 stk.
elseif(($_POST[antal] > '4') AND ($_POST[antal] < '10')) {
if($prisinterval[pris5stk] <> '') {
$pris = $prisinterval[pris5stk];
} elseif($prisinterval[pris5stk] == '') {
$pris = $prisinterval[pris3stk];
} elseif($prisinterval[pris3stk] == '') {
$pris = $prisinterval[pris];
}
}
// 3 - 4 stk.
elseif(($_POST[antal] > '2') AND ($_POST[antal] < '5')) {
if($prisinterval[pris3stk] <> '') {
$pris = $prisinterval[pris3stk];
} else {
$pris = $prisinterval[pris];
}
}
// 1 - 2 stk
else{
$pris = $prisinterval[pris];
}
