Van: Rob van Nuenen [rvannuenen@hotmail.com] Verzonden: zaterdag 11 juli 2009 0:00 Aan: vincent dhrs Onderwerp: deel bereken-code Hoi Vincent, Hieronder zie je de berekening van de kosten. Ik zal even een korte uitleg erbij geven, maar op zich ziet het er moeilijker uit dan dat het werkelijk is hoor: - alles met een $ is een variabele - $uid = user_id, $bd = begindatum, $ed = einddatum, $type spreekt voor zich en $start geeft aan of het startsaldo meegerekend moet worden. - K = de kostentabel, KU is de koppelingtabel tussen kosten en users en UA is useraccount (bankgegevens van users) - daarnaast heb je nog de types, Kosten, Boetes, Declaraties, Storting, Overboeking, Lasten, Telefoonkosten en Reset. SUCCES! Rob ----------------------------------- function saldo($uid, $bd, $ed, $type, $start) { $totaal = 0; $i = 0; $sql = "SELECT * FROM KU, K, UA WHERE KU.kid = K.kid AND KU.uid = '$uid' AND KU.uid = UA.uid"; if ($start == 'start') { $sql .= " AND K.datum_kost >= UA.saldodatum"; } elseif ($start == 'stop') { $sql .= " AND K.datum_kost >= UA.saldodatum AND K.datum_kost < '$ed'"; } elseif ($bd != '' && $ed != '') { $sql .= " AND K.datum_kost >= UA.saldodatum AND K.datum_kost >= '$bd' AND K.datum_kost <= '$ed'"; } $ts = mysql_query($sql); while ($rs = mysql_fetch_array($ts)) { // sorteren op type if (($rs['type'] == 'K' && $rs['betaler'] == 'ja') && ($type == 'K' || $type == 'all')) { $totaal = $totaal + $rs['totaal']; } elseif ($rs['type'] == 'K' && $rs['betaler'] == 'nee' && ($type == 'K' || $type == 'all')) { $totaal = $totaal - $rs['totaal']; } elseif ($rs['type'] == 'B' && ($type == 'B' || $type == 'all')) { $totaal = $totaal - $rs['totaal']; } elseif ($rs['type'] == 'D' && ($type == 'D' || $type == 'all')) { $totaal = $totaal + $rs['totaal']; } elseif ($rs['type'] == 'S' && ($type == 'S' || $type == 'all')) { $totaal = $totaal + $rs['totaal']; } elseif ($rs['type'] == 'O' && $rs['betaler'] == 'ja' && ($type == 'O' || $type == 'all')) { $totaal = $totaal + $rs['totaal']; } elseif ($rs['type'] == 'O' && $rs['betaler'] == 'nee' && ($type == 'O' || $type == 'all')) { $totaal = $totaal - $rs['totaal']; } elseif ($rs['type'] == 'L' && ($type == 'L' || $type == 'all')) { $totaal = $totaal - $rs['totaal']; } elseif ($rs['type'] == 'T' && ($type == 'T' || $type == 'all')) { $totaal = $totaal - $rs['totaal']; } elseif ($rs['type'] == 'R' && ($type == 'R' || $type == 'all')) { $totaal = $totaal - $rs['totaal']; } } if ($start == 'start' || $start == 'stop') { $sql = "SELECT saldo FROM UA WHERE uid = '$uid'"; $saldo = make_float(mysql_result(mysql_query($sql), 0)); $totaal = $totaal + $saldo; } return $totaal; } __________ Informatie van ESET NOD32 Antivirus, versie van database viruskenmerken 4392 (20090903) __________ Het bericht is gecontroleerd door ESET NOD32 Antivirus. http://www.eset.com