function updateZahlungen($acb_nr, array $buchung)
    {
        // Modul für DB-Zugriff einbinden
        require_once 'konfiguration.php';
        // Verbindung zur Datenbank herstellen
        // am System mit Host, Benutzernamen und Password anmelden
        @mysql_connect(MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT) or die('Could not connect to mysql server.');
        @mysql_select_db(MYSQL_DATENBANK) or die('Could not select database.');
        // Datum umbauen, falls nötig
        $datum = toSqlDatum($buchung['buchungsdatum']);
        // beim Betrag Komma durch Punkt ersetzen
        $summe = str_replace(',', '.', $buchung['betrag']);
        // SQL-Befehl zurecht fuddeln,
        // eine neue Buchung soll hinzugefügt werden
        $sql = sprintf('
				INSERT INTO
					`zahlungen` (
						`datum`,
						`summe`,
						`acb_nr`,
						`bemerkungen`
					)
					VALUES (
						"%s",
						%s,
						%s,
						"%s"
					)
			', $datum, $summe, $acb_nr, utf8_decode($buchung['bemerkungen']));
        // SQL-Befehl ausführen und Buchungen aktualisieren
        mysql_query($sql);
        // SQL-Befehl zurecht fuddeln,
        // das entsprechende Fluggeldkonto soll aktualisiert werden
        $sql = sprintf('UPDATE `fluggeldkonto` SET `saldo` = `saldo` + (%s) WHERE `acb_nr` = %d', $summe, $acb_nr);
        // SQL-Befehl ausführen und Fluggeldkonto aktualisieren
        mysql_query($sql);
    }
示例#2
0
    function getJahresumsaetze($datum_von, $datum_bis)
    {
        // Rückgabe-Variable definieren
        $html = '';
        // Modul für DB-Zugriff einbinden
        require_once 'konfiguration.php';
        // Verbindung zur Datenbank herstellen
        // am System mit Host, Benutzernamen und Password anmelden
        @mysql_connect(MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT) or die('Could not connect to mysql server.');
        @mysql_select_db(MYSQL_DATENBANK) or die('Could not select database.');
        // SQL-Befehl zurechtfuddeln,
        // Umsätze für den festgelegten Zeitraum ermitteln
        $sql = sprintf('
				SELECT
					`preiskategorien`.`kennzeichen` AS `kennzeichen`,
					`flugzeuge`.`flugzeugtyp` AS `typ`,
					SUM(`flugbuch`.`anteilsumme_1` + `flugbuch`.`anteilsumme_2`) AS `summe`,
					COUNT(*) AS `fluege`,
					SUM(`flugbuch`.`flugzeit`) AS `flugzeit`,
					`preiskategorien`.`mwst_satz` AS `mwst_satz`
				FROM
					`flugbuch`
				INNER JOIN
					`preiskategorien`
					ON (`flugbuch`.`luftfahrzeug` = `preiskategorien`.`kennzeichen` AND `flugbuch`.`preiskategorie` = `preiskategorien`.`id`)
				INNER JOIN
					`flugzeuge` ON `flugbuch`.`luftfahrzeug` = `flugzeuge`.`kennzeichen`
				WHERE
					`flugbuch`.`datum` BETWEEN "%s" AND "%s"
				GROUP BY
					`flugbuch`.`luftfahrzeug`,
					`preiskategorien`.`mwst_satz`
			', toSqlDatum($datum_von), toSqlDatum($datum_bis));
        // zuvor definierte SQL-Anweisung ausführen
        // Anzahl der Datensätze sollte größer als 0 sein um TRUE zurückzugeben
        $db_erg = mysql_query($sql);
        // Zählervariable initialisieren
        $i = 0;
        // Kennzeichen zwischenspeichern
        $kennzeichen = '';
        // Summe aller Flüge zum zwischenspeichern
        $summe = 0;
        $minuten = 0;
        $betrag = 0.0;
        $betrag_netto = 0.0;
        // es sind Datensätze vorhanden
        if (mysql_num_rows($db_erg) > 0) {
            $html .= '<table width="92%">';
            $html .= '<tr>';
            $html .= sprintf('
					<td width="140">
						<a href="./pdf_jahresumsaetze.php?von=%s&bis=%s" class="neuanlageMitglied" style="font-size:10pt !important;" target="_blank">
							<img src="./img/pdf_icon.png" border="0" align="left" width="22" height="22" style="margin-top:-4px; margin-left:15px; margin-right:7px;" />
							Die folgenden Jahresums&auml;tze als PDF ausgeben
						</a>
					</td>
				', toSqlDatum($datum_von), toSqlDatum($datum_bis));
            $html .= '</tr>';
            $html .= '</table>';
            $html .= '<br />';
            while ($zeile = mysql_fetch_object($db_erg)) {
                // Hintergrundfarbe für gerade/ungerade Zeilen festlegen
                $bgColor = $i % 2 ? '#eeeeee' : '#cccccc';
                if ($kennzeichen != $zeile->kennzeichen) {
                    if ($kennzeichen != '') {
                        $html .= '<tr>';
                        $html .= '<th colspan="2" style="border-top: 3px solid #000000; padding-right: 6px;" align="right">Gesamtsumme(n) :</th>';
                        $html .= '<th style="border-top: 3px solid #000000;">&nbsp;</th>';
                        $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="65">%s</th>', $minuten);
                        $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="110">%s &euro;</th>', number_format($betrag_netto, 2, ',', '.'));
                        $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="110">%s &euro;</th>', number_format($betrag - $betrag_netto, 2, ',', '.'));
                        $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="110">%s &euro;</th>', number_format($betrag, 2, ',', '.'));
                        $html .= '</tr>';
                        // Tabellenende der vorherigen Tabelle
                        $html .= '</table>';
                        $html .= '</br>';
                        // Summe aller Flüge einblenden
                        $html = str_replace('###', $summe, $html);
                        $i = 0;
                        // Hintergrundfarbe für gerade/ungerade Zeilen festlegen
                        $bgColor = $i % 2 ? '#eeeeee' : '#cccccc';
                    }
                    // Tabellenanfang
                    $html .= '<table border="0" cellspacing="0" cellpadding="2" class="tabelle_jahresumsaetze">';
                    $html .= '<tr>';
                    $html .= sprintf('<th bgcolor="#666666" style="color: #ffffff; font-size: 14pt; padding-left: 4px;" width="150" align="left">%s</th>', $zeile->typ);
                    $html .= sprintf('<th bgcolor="#666666" style="color: #ffffff; font-size: 14pt; padding-left: 4px;" width="120" align="left">%s</th>', $zeile->kennzeichen);
                    $html .= '<th colspan="5" bgcolor="#666666" style="color: #ffffff;">&nbsp;</th>';
                    $html .= '</tr>';
                    $html .= '<tr height="26">';
                    $html .= sprintf('<td colspan="7" bgcolor="#ffffe1" style="padding-left: 8px;"><i>Zusammenfassung f&uuml;r "Typ" = %s (### Detaildatens&auml;tze)</i></td>', $zeile->typ);
                    $html .= '</tr>';
                    $html .= '<tr height="24">';
                    $html .= '<th colspan="2" bgcolor="#666666">&nbsp;</th>';
                    $html .= '<th align="right" bgcolor="#666666" style="color: #ffffff; padding-right: 4px;" width="100">MwSt-Satz %</th>';
                    $html .= '<th align="right" bgcolor="#666666" style="color: #ffffff; padding-right: 4px;" width="65">Minuten</th>';
                    $html .= '<th align="right" bgcolor="#666666" style="color: #ffffff; padding-right: 4px;" width="110">Betrag <small>(netto)</small></th>';
                    $html .= '<th align="right" bgcolor="#666666" style="color: #ffffff; padding-right: 4px;" width="110">Betrag <small>(MwSt)</small></th>';
                    $html .= '<th align="right" bgcolor="#666666" style="color: #ffffff; padding-right: 4px;" width="110">Betrag <small>(brutto)</small></th>';
                    $html .= '</tr>';
                    $kennzeichen = $zeile->kennzeichen;
                    $summe = 0;
                    $minuten = 0;
                    $betrag = 0.0;
                    $betrag_netto = 0.0;
                }
                $netto = sprintf('%01.2f', $zeile->summe * 100 / ($zeile->mwst_satz + 100));
                // eine neue Zeile für die Tabelle anlegen inkl. Hintergrundfarbe
                $html .= sprintf('<tr bgcolor="%s" height="22">', $bgColor);
                $html .= '<td>&nbsp;</td>';
                $html .= '<td width="75" align="right" style="padding-right: 6px;"><strong>Summe(n) :</strong></td>';
                $html .= sprintf('<td align="right" style="padding-right: 4px;">%s %%</td>', number_format($zeile->mwst_satz, 2, ',', '.'));
                $html .= sprintf('<td align="right" style="padding-right: 4px;">%s</td>', $zeile->flugzeit);
                $html .= sprintf('<td align="right" style="padding-right: 4px;">%s &euro;</td>', number_format($netto, 2, ',', '.'));
                $html .= sprintf('<td align="right" style="padding-right: 4px;">%s &euro;</td>', number_format($zeile->summe - $netto, 2, ',', '.'));
                $html .= sprintf('<td align="right" style="padding-right: 4px;">%s &euro;</td>', number_format($zeile->summe, 2, ',', '.'));
                $html .= '</tr>';
                // Flüge aufsumieren
                $summe += $zeile->fluege;
                $minuten += $zeile->flugzeit;
                $betrag += $zeile->summe;
                $betrag_netto += $netto;
                // Zähler erhöhen
                $i++;
            }
            $html .= '<tr>';
            $html .= '<th colspan="2" style="border-top: 3px solid #000000; padding-right: 6px;" align="right">Gesamtsumme(n) :</th>';
            $html .= '<th style="border-top: 3px solid #000000;">&nbsp;</th>';
            $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="65">%s</th>', $minuten);
            $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="110">%s &euro;</th>', number_format($betrag_netto, 2, ',', '.'));
            $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="110">%s &euro;</th>', number_format($betrag - $betrag_netto, 2, ',', '.'));
            $html .= sprintf('<th align="right" style="border-top: 3px solid #000000; padding-right: 4px;" width="110">%s &euro;</th>', number_format($betrag, 2, ',', '.'));
            $html .= '</tr>';
            // Tabellenende der vorherigen Tabelle
            $html .= '</table>';
            $html .= '</br>';
            // Summe aller Flüge einblenden
            $html = str_replace('###', $summe, $html);
        }
        // Verbindung zur Datenbank schließen
        mysql_free_result($db_erg);
        // Rückgabe der Umsätze
        return $html;
    }
示例#3
0
 function getDbValue($val, $datentyp = T_STR)
 {
     // Rückgabe-Variable definieren
     $return = '';
     // zunächst überprüfen, ob der Wert leer ist oder nicht
     if (!empty($val)) {
         // als nächstes Prüfen um welchen Datentyp es sich handelt
         switch ($datentyp) {
             case T_NUMERIC:
                 // es handelt sich um einen numerischen Wert deshalb
                 // wird dieser nicht in Anführungszeichen zurückgegeben
                 $return = sprintf('%d', $val);
                 break;
             case T_FLOAT:
                 // es handelt sich um einen numerischen Wert mit Kommastellen
                 // deshalb wird dieser nicht in Anführungszeichen zurückgegeben
                 $return = sprintf('%01.2f', str_replace(',', '.', $val));
                 break;
             case T_DATE:
                 // es handelt sich um einen Datums-Wert deshalb muss
                 // dieser in das Format JJJJ-MM-TT gebracht werden
                 $return = sprintf('"%s"', toSqlDatum($val));
                 break;
             case T_TIME:
                 // es handelt sich um einen Zeit-Wert deshalb muss
                 // dieser in das Format HH:MM:SS gebracht werden
                 $return = sprintf('"%s"', $val . ':00');
                 break;
             case T_BOOL:
                 // es handelt sich um einen booleschen Wert deshalb
                 // wird entweder "J" für Ja oder "N" für Nein zurückgegeben
                 $return = '"J"';
                 break;
             case T_STR:
             default:
                 // in allen anderen Fällen handelt es sich um eine Zeichen-
                 // kette, diese wird generell in Anführungszeichen zurückgegeben
                 $return = sprintf('"%s"', utf8_decode($val));
                 break;
         }
     } else {
         // ist der Wert leer oder ungültig,
         // wird DB-NULL zurückgegeben
         if ($datentyp == T_BOOL) {
             $return = '"N"';
         } else {
             if ($datentyp == T_NUMERIC) {
                 $return = '0';
             } else {
                 if ($datentyp == T_FLOAT) {
                     $return = '0.00';
                 } else {
                     $return = 'NULL';
                 }
             }
         }
     }
     // Rückgabe des formatierten Feldinhaltes
     return $return;
 }