function printTabelleKopfdaten($datum) { // 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, // Kopfdaten der Startliste ermitteln $sql = sprintf(' SELECT * FROM `logbuch` WHERE `datum` = "%s" ', $datum); // 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); while ($zeile = mysql_fetch_object($db_erg)) { // die Kopfdaten der Startliste eintragen $html .= sprintf('<td align="center" style="padding: 0 10px 0 10px;">%s</td>', fromSqlDatum($zeile->datum)); $html .= sprintf('<td align="center" style="padding: 0 5px 0 5px;">%s</td>', $zeile->startrichtung); $html .= sprintf('<td align="center" style="padding: 0 5px 0 5px;">%s °</td>', str_pad($zeile->windrichtung, 3, '0', STR_PAD_LEFT)); $html .= sprintf('<td align="center" style="padding: 0 5px 0 5px;">%d kt</td>', $zeile->windstaerke); $html .= sprintf('<td align="center" style="padding: 0 5px 0 5px;">%s</td>', $zeile->bewoelkung); $html .= sprintf('<td align="center" style="padding: 0 5px 0 5px;">%d °C</td>', $zeile->temperatur); $html .= sprintf('<td align="center" style="padding: 0 5px 0 5px;">%d hPa</td>', $zeile->luftdruck); $html .= sprintf('<td align="center" style="padding: 0 7px 0 7px;">'); $html .= sprintf('<a href="flt_aendern.php?datum_id=%s" title="Kopfdaten bearbeiten">', $zeile->datum); $html .= '<img src="img/document_pencil.png" border="0" height="23" width="22" align="left" /></a>'; $html .= sprintf('<a href="pdf_startliste.php?von=%s&bis=%s" title="Startliste drucken" target="_blank">', $zeile->datum, $zeile->datum); $html .= '<img src="img/pdf_icon.png" border="0" height="22" width="22" align="left" /></a>'; $html .= sprintf('<a href="pdf_bordbuch.php?von=%s&bis=%s" title="Bordbuch drucken" target="_blank">', $zeile->datum, $zeile->datum); $html .= '<img src="img/pdf_icon.png" border="0" height="22" width="22" align="left" /></a>'; $html .= '</td>'; } // Verbindung zur Datenbank schließen mysql_free_result($db_erg); // Tabellenansicht zurückgeben return $html; }
<br /> <form action="flt_aendern.php?datum_id=<?php echo $datum_id; ?> &action=speichern" method="POST"> <fieldset style="width: 58%; background-color: #eeeeee;"> <legend style="font-size: 11pt;"><img src="./img/weather_16.png" align="left" height="18" width="18" hspace="5" /> Angaben zu "Wind und Wetter"</legend> <table cellpadding="2" cellspacing="0" border="0" class="fluggeldkonten"> <tr bgcolor="#dddddd"> <th align="left" width="160" style="padding-left: 8px;"><label for="datum">Datum:</label></th> <td width="400"> <input style="width: 100px;" type="text" value="<?php echo fromSqlDatum($data['datum']); ?> " maxlength="10" size="10" name="datum" id="datum" class="flugzeug_anlegen_gesperrt" onFocus="this.blur();" readonly="readonly" /> <img style="position: relative; left 0px; top: 2px;" title="Primärschlüssel => Flugdatum" src="./img/1351092510_key.png" /> </td> </tr> <tr bgcolor="#eeeeee"> <th align="left" width="160" style="padding-left: 8px;"><label for="startrichtung">Startrichtung:</label></th> <td width="400"> <select size="1" name="startrichtung" id="startrichtung" style="width: 100px;" class="flugzeug_anlegen" /> <?php if ($data['startrichtung'] == '10') { ?> <option value="10" selected="selected">10</option> <option value="28">28</option> <?php
function pdf_header(&$ref_pdf, $von, $bis) { // Schriftgrad einstellen $ref_pdf->SetFont('Times', '', 26); $ref_pdf->Text(40, 20, 'Hauptflugbuch'); // Linienbreite einstellen, 0.5 mm $ref_pdf->SetLineWidth(0.5); // Linie(n) zeichnen $ref_pdf->Line(23, 23.5, 270, 23.5); // Schriftgrad einstellen $ref_pdf->SetFont('Times', 'B', 12); $ref_pdf->Text(115, 20, 'von :'); $ref_pdf->Text(155, 20, 'bis :'); // Schriftgrad einstellen $ref_pdf->SetFont('Times', '', 12); // Von- und Bis-Datum setzen $ref_pdf->Text(126, 20, fromSqlDatum($von)); $ref_pdf->Text(165, 20, fromSqlDatum($bis)); }
function getMitglied($acb_nr) { // Rückgabe-Array definieren $data = array(); // 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, // die Daten für das aktuell ausgewählte Mitglied laden $sql = sprintf(' SELECT * FROM `mitglieder` WHERE `id` = %d LIMIT 1 ', $acb_nr); // 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); // es sind Datensätze vorhanden while ($zeile = mysql_fetch_object($db_erg)) { // Daten übernehmen wie hinterlegt $data['acb_nr'] = utf8_encode($zeile->id); $data['status'] = utf8_encode($zeile->status); $data['sort'] = utf8_encode($zeile->sort); $data['anrede'] = utf8_encode($zeile->anrede); $data['titel'] = utf8_encode($zeile->titel); $data['ameavia'] = utf8_encode($zeile->ameavia); $data['vorname'] = utf8_encode($zeile->vorname); $data['nachname'] = utf8_encode($zeile->nachname); $data['geburtsdatum'] = utf8_encode(fromSqlDatum($zeile->geburtsdatum)); $data['strasse'] = utf8_encode($zeile->strasse); $data['land'] = utf8_encode($zeile->land); $data['plz'] = utf8_encode($zeile->plz); $data['ort'] = utf8_encode($zeile->ort); $data['telefon1'] = utf8_encode($zeile->telefon1); $data['telefon2'] = utf8_encode($zeile->telefon2); $data['mobil1'] = utf8_encode($zeile->mobil1); $data['mobil2'] = utf8_encode($zeile->mobil2); $data['email'] = utf8_encode($zeile->email); $data['www'] = utf8_encode($zeile->www); $data['bank'] = utf8_encode($zeile->bank); $data['blz'] = utf8_encode($zeile->blz); $data['kto'] = utf8_encode($zeile->kto); $data['ktoinhaber'] = utf8_encode($zeile->ktoinhaber); $data['eintritt'] = utf8_encode(fromSqlDatum($zeile->eintritt)); $data['austritt'] = utf8_encode(fromSqlDatum($zeile->austritt)); $data['in_abrechn'] = utf8_encode($zeile->in_abrechn); $data['datenschutz'] = utf8_encode($zeile->datenschutz); $data['rundmail'] = utf8_encode($zeile->rundmail); $data['fl_dienst_absprache'] = utf8_encode($zeile->fl_dienst_absprache); $data['fl_dienst_wochentags'] = utf8_encode($zeile->fl_dienst_wochentags); $data['funktion'] = utf8_encode($zeile->funktion); $data['ppladat'] = utf8_encode(fromSqlDatum($zeile->ppladat)); $data['pplbdat'] = utf8_encode(fromSqlDatum($zeile->pplbdat)); $data['pplcdat'] = utf8_encode(fromSqlDatum($zeile->pplcdat)); $data['uldat'] = utf8_encode(fromSqlDatum($zeile->uldat)); $data['medical'] = utf8_encode(fromSqlDatum($zeile->medical)); $data['jar_tmg'] = utf8_encode($zeile->jar_tmg); $data['jar_sep'] = utf8_encode($zeile->jar_sep); $data['hlbnr'] = utf8_encode($zeile->hlbnr); $data['taetigkeiten'] = utf8_encode($zeile->taetigkeiten); $data['fachausweise'] = utf8_encode($zeile->fachausweise); // Adressdaten holen if ($data['strasse'] != '' && $data['plz'] != '' && $data['ort'] != '') { // Google Maps-Link hinzufügen $data['googlemaps'] = sprintf('http://maps.google.de/maps?q=%s,+%s+%s,&t=h&z=17', $data['strasse'], $data['plz'], $data['ort']); } // eMail-Adresse holen // eMail-Feld darf nicht leer sein if ($data['email'] != '') { // eMail-Adresse als Link hinterlegen $data['goto_email'] = sprintf('mailto:%s', $data['email']); } // Homepage-Adresse holen // Homepage-Feld darf nicht leer sein if ($data['www'] != '') { // prüfen ob vorne ein HTTP dran steht if (strpos($data['www'], 'http') === false) { // Homepage-Adresse als Link hinterlegen $data['goto_www'] = sprintf('http://%s', $data['www']); } else { // Homepage-Adresse als Link hinterlegen $data['goto_www'] = $data['www']; } } // Bild (Avatar) holen // das Bild (Avatar) muss existent sein if (file_exists(sprintf('./userpics/%s.jpg', md5($data['acb_nr'])))) { // Bild laden $data['avatar_img'] = sprintf('%s.jpg', md5($data['acb_nr'])); } else { // Bild wieder auf das Dummy-Pic (anhand der Anrede) zurücksetzen if ($data['anrede'] == 'H') { $data['avatar_img'] = '_dummy_pic_male.jpg'; } else { if ($data['anrede'] == 'C') { $data['avatar_img'] = '_dummy_pic_company.jpg'; } else { $data['avatar_img'] = '_dummy_pic_female.jpg'; } } } } // Verbindung zur Datenbank schließen mysql_free_result($db_erg); // Rückgabe der Mitgliedsdaten return $data; }
function pdf_header(&$ref_pdf, $von, $bis) { // Schriftgrad einstellen $ref_pdf->SetFont('Times', '', 26); $ref_pdf->Text(25, 25, 'Hauptflugbuch'); // neue X- und Y-Koordinaten setzen $ref_pdf->SetXY(15, 31); // Schriftgrad einstellen $ref_pdf->SetFont('Times', 'B', 9); $ref_pdf->Cell(13, 5, 'Flug-Nr', 0, 0, 'L'); $ref_pdf->Cell(18, 5, 'Typ', 0, 0, 'L'); $ref_pdf->Cell(16, 5, 'Kennung', 0, 0, 'L'); $ref_pdf->Cell(15, 5, 'St-Datum', 0, 0, 'C'); $ref_pdf->Cell(12, 5, 'St-Zeit', 0, 0, 'C'); $ref_pdf->Cell(24, 5, 'Abflug-Ort', 0, 0, ''); $ref_pdf->Cell(15, 5, 'Ld-Datum', 0, 0, 'C'); $ref_pdf->Cell(12, 5, 'Ld-Zeit', 0, 0, 'C'); $ref_pdf->Cell(24, 5, 'Ziel-Ort', 0, 0, 'L'); $ref_pdf->Cell(10, 5, 'Dauer', 0, 0, 'C'); $ref_pdf->Cell(25, 5, 'Pilot', 0, 0, 'L'); $ref_pdf->Cell(25, 5, 'Begleiter', 0, 0, 'L'); $ref_pdf->Cell(12, 5, 'Startart', 0, 0, 'C'); $ref_pdf->Cell(12, 5, 'Flugart', 0, 0, 'C'); $ref_pdf->Cell(35, 5, 'Bemerkungen', 0, 0, 'L'); // Linienbreite einstellen, 0.1 mm $ref_pdf->SetLineWidth(0.1); // Linie(n) zeichnen $ref_pdf->Line(14, 37.7, 285, 37.7); $ref_pdf->Line(14, 38.4, 285, 38.4); // Schriftgrad einstellen $ref_pdf->SetFont('Times', 'B', 12); $ref_pdf->Text(115, 25, 'von :'); $ref_pdf->Text(155, 25, 'bis :'); // Schriftgrad einstellen $ref_pdf->SetFont('Times', '', 12); // Von- und Bis-Datum setzen $ref_pdf->Text(126, 25, fromSqlDatum($von)); $ref_pdf->Text(165, 25, fromSqlDatum($bis)); }
function getMitglied($acb_nr) { // Rückgabe-Array definieren $data = array(); // Modul für DB-Zugriff einbinden require_once 'konfiguration.php'; require_once 'functions.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, // die Daten für das aktuell ausgewählte Mitglied laden $sql = sprintf(' SELECT * FROM `mitglieder` WHERE `id` = %d LIMIT 1 ', $acb_nr); // 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); // es sind Datensätze vorhanden while ($zeile = mysql_fetch_object($db_erg)) { // Mitgliedsstatus ermitteln if ($zeile->status != 'P' && $zeile->status != 'E') { if (!empty($zeile->geburtsdatum)) { $alter = floor((time() - strtotime($zeile->geburtsdatum)) / (60 * 60 * 24 * 365)); } else { $alter = 0; } // Geburtstag prüfen, ob Jugendmitglied $zeile->status = $alter <= 25 && $alter != 0 ? 'J' : 'N'; } else { if ($zeile->status == 'E') { // Ehrenmitglieder $zeile->status = 'R'; } } // Name kürzen falls nötig if (substr($zeile->nachname, strlen($zeile->nachname) - 2, 1) == ' ' || substr($zeile->nachname, strlen($zeile->nachname) - 3, 1) == ' ') { // Name einkürzen, bsp: aus Koch C wird Koch $zeile->nachname = substr($zeile->nachname, 0, strlen($zeile->nachname) - 2); // führende und endende Leerzeichen entfernen falls vorhanden $zeile->nachname = trim($zeile->nachname); } // Daten übernehmen wie hinterlegt $data['status'] = utf8_encode($zeile->status); $data['anrede'] = utf8_encode($zeile->anrede); $data['vorname'] = utf8_encode($zeile->vorname); $data['nachname'] = utf8_encode($zeile->nachname); $data['geburtsdatum'] = fromSqlDatum($zeile->geburtsdatum); $data['strasse'] = utf8_encode($zeile->strasse); $data['land'] = utf8_encode($zeile->land); $data['plz'] = utf8_encode($zeile->plz); $data['ort'] = utf8_encode($zeile->ort); $data['telefon1'] = utf8_encode($zeile->telefon1); $data['telefon2'] = utf8_encode($zeile->telefon2); $data['mobil1'] = utf8_encode($zeile->mobil1); $data['mobil2'] = utf8_encode($zeile->mobil2); $data['email'] = utf8_encode($zeile->email); $data['www'] = utf8_encode($zeile->www); $data['bank'] = utf8_encode($zeile->bank); $data['blz'] = utf8_encode($zeile->blz); $data['kto'] = utf8_encode($zeile->kto); $data['ktoinhaber'] = utf8_encode($zeile->ktoinhaber); $data['eintritt'] = fromSqlDatum($zeile->eintritt); $data['austritt'] = fromSqlDatum($zeile->austritt); $data['datenschutz'] = utf8_encode($zeile->datenschutz); $data['rundmail'] = utf8_encode($zeile->rundmail); $data['funktion'] = utf8_encode($zeile->funktion); $data['ppladat'] = fromSqlDatum($zeile->ppladat); $data['pplbdat'] = fromSqlDatum($zeile->pplbdat); $data['pplcdat'] = fromSqlDatum($zeile->pplcdat); $data['uldat'] = fromSqlDatum($zeile->uldat); $data['medical'] = fromSqlDatum($zeile->medical); $data['jar_tmg'] = utf8_encode($zeile->jar_tmg); $data['jar_sep'] = utf8_encode($zeile->jar_sep); $data['hlbnr'] = utf8_encode($zeile->hlbnr); $data['taetigkeiten'] = utf8_encode($zeile->taetigkeiten); $data['fachausweise'] = utf8_encode($zeile->fachausweise); // Gültigkeiten der Lizenzen prüfen $data['ppladat'] = $data['ppladat'] == '31.12.9999' ? 'unbefristed' : $data['ppladat']; $data['pplbdat'] = $data['pplbdat'] == '31.12.9999' ? 'unbefristed' : $data['pplbdat']; $data['pplcdat'] = $data['pplcdat'] == '31.12.9999' ? 'unbefristed' : $data['pplcdat']; // Bild (Avatar) holen // das Bild (Avatar) muss existent sein if (file_exists(sprintf('./userpics/%s.jpg', md5($data['acb_nr'])))) { // Bild laden $data['avatar_img'] = sprintf('%s.jpg', md5($data['acb_nr'])); } else { // Bild wieder auf das Dummy-Pic (anhand der Anrede) zurücksetzen if ($data['anrede'] == 'H') { $data['avatar_img'] = '_dummy_pic_male.jpg'; } else { $data['avatar_img'] = '_dummy_pic_female.jpg'; } } } // Verbindung zur Datenbank schließen mysql_free_result($db_erg); // Rückgabe der Mitgliedsdaten return $data; }
function getFlugzeug($kennzeichen) { // Rückgabe-Array definieren $data = array(); // 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, // die Daten für das aktuell ausgewählte Flugzeug laden $sql = sprintf(' SELECT * FROM `flugzeuge` WHERE `kennzeichen` = "%s" LIMIT 1 ', $kennzeichen); // 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); // es sind Datensätze vorhanden while ($zeile = mysql_fetch_object($db_erg)) { // Daten übernehmen wie hinterlegt $data['kennzeichen'] = utf8_encode($zeile->kennzeichen); $data['flugzeugtyp'] = utf8_encode($zeile->flugzeugtyp); $data['w_kennz'] = utf8_encode($zeile->w_kennz); $data['sort'] = utf8_encode($zeile->sort); $data['typ1'] = utf8_encode($zeile->typ1); $data['standort'] = utf8_encode($zeile->standort); $data['halter'] = utf8_encode($zeile->halter); $data['status'] = utf8_encode($zeile->status); $data['nvfr'] = utf8_encode($zeile->nvfr); $data['cvfr'] = utf8_encode($zeile->cvfr); $data['vereinsflugzeug'] = utf8_encode($zeile->vereinsflugzeug); $data['bemerkungen'] = utf8_encode($zeile->bemerkungen); $data['fluggebuehr'] = utf8_encode(number_format($zeile->fluggebuehr, 2, ',', '')); $data['motorgebuehr'] = utf8_encode(number_format($zeile->motorgebuehr, 2, ',', '')); $data['gastgebuehr'] = utf8_encode(number_format($zeile->gastgebuehr, 2, ',', '')); $data['startgebuehr'] = utf8_encode(number_format($zeile->startgebuehr, 2, ',', '')); $data['landegebuehr'] = utf8_encode(number_format($zeile->landegebuehr, 2, ',', '')); $data['startart'] = utf8_encode($zeile->startart); $data['typ'] = utf8_encode($zeile->typ); $data['zelle_stunden'] = utf8_encode($zeile->zelle_stunden); $data['restzeit_motor'] = utf8_encode($zeile->restzeit_motor); $data['restzeit_prop'] = utf8_encode($zeile->restzeit_prop); $data['stand_wartung'] = utf8_encode(fromSqlDatum($zeile->stand_wartung)); $data['naechste_wartung'] = utf8_encode($zeile->naechste_wartung); $data['naechste_wartung_stunden'] = utf8_encode($zeile->naechste_wartung_stunden); $data['naechste_wartung_datum'] = utf8_encode(fromSqlDatum($zeile->naechste_wartung_datum)); // Daten der letzten Jahresnachprüfung ermitteln $letzte_jnp = getLetzteJNP($zeile->kennzeichen); // Daten der letzten Jahresnachprüfung in die Rückgabevariablen schreiben $data['letzte_jnp'] = $letzte_jnp['datum']; $data['jnp_stunden'] = $letzte_jnp['stunden']; $data['jnp_landungen'] = $letzte_jnp['landungen']; // Bild holen // das Bild muss existent sein if (file_exists(sprintf('./planepics/%s.jpg', md5($data['kennzeichen'])))) { // Bild laden $data['planepic_img'] = sprintf('%s.jpg', md5($data['kennzeichen'])); } else { // Bild wieder auf das Dummy-Pic zurücksetzen $data['planepic_img'] = '_dummy_plane.jpg'; } } // Verbindung zur Datenbank schließen mysql_free_result($db_erg); // Rückgabe der Flugzeugdaten return $data; }
function pdf_header(&$ref_pdf, $von, $bis) { // Schriftgrad einstellen $ref_pdf->SetFont('Times', '', 24); $ref_pdf->Text(15, 14, 'Bewertung der Flugzeuge'); // neue X- und Y-Koordinaten setzen $ref_pdf->SetXY(15, 21.5); // Schriftgrad einstellen $ref_pdf->SetFont('Times', 'B', 10); $ref_pdf->Cell(32, 5, 'LFZ-Typ', 0, 0, 'L'); $ref_pdf->Cell(28, 5, 'LFZ-Kennung', 0, 0, 'L'); $ref_pdf->Cell(25, 5, 'MwSt-Satz %', 0, 0, 'R'); $ref_pdf->Cell(17, 5, 'Minuten', 0, 0, 'R'); $ref_pdf->Cell(29, 5, 'Betrag (Netto)', 0, 0, 'R'); $ref_pdf->Cell(23, 5, sprintf('MwSt in %s', iconv('UTF-8', 'CP1252', '€')), 0, 0, 'R'); $ref_pdf->Cell(29, 5, 'Betrag (Brutto)', 0, 0, 'R'); // Linienbreite einstellen, 0.5 mm $ref_pdf->SetLineWidth(0.5); // Linie(n) zeichnen $ref_pdf->Line(13, 20.5, 200, 20.5); $ref_pdf->Line(13, 27.5, 200, 27.5); // Schriftgrad einstellen $ref_pdf->SetFont('Times', 'B', 12); $ref_pdf->Text(116, 14, 'Zeitraum von :'); $ref_pdf->Text(168, 14, 'bis :'); // Schriftgrad einstellen $ref_pdf->SetFont('Times', '', 12); // Von- und Bis-Datum setzen $ref_pdf->Text(145, 14, fromSqlDatum($von)); $ref_pdf->Text(178, 14, fromSqlDatum($bis)); }
function getFlugbuchPdf($acb_nr) { // Rückgabe-Array definieren $return = array(); // 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, // die Flugeinträge der letzten 12 Monate, des // aktuell ausgewählten Mitglieds, werden ermittelt $sql = sprintf(' SELECT `hauptflugbuch`.* FROM ( SELECT `flugbuch`.`datum` AS `datum`, `flugzeugtyp`.`gruppe` AS `gruppe`, `flugzeuge`.`flugzeugtyp` AS `typ`, `flugzeuge`.`kennzeichen` AS `kennzeichen`, `mitglieder_1`.`nachname` AS `pilot`, CASE WHEN ((`flugbuch`.`preiskategorie` = "FR" OR `flugbuch`.`preiskategorie` = "FM") AND (`flugbuch`.`besatzung2` IS NOT NULL)) THEN ( SELECT CONCAT("F-Schl.", REPLACE(`t`.`luftfahrzeug`, "-", "")) FROM `flugbuch` AS `t` WHERE `t`.`datum` = `flugbuch`.`datum` AND ( `t`.`startzeit` = `flugbuch`.`startzeit` OR ( `t`.`startzeit` >= CONCAT( HOUR(`flugbuch`.`startzeit`), ":", MINUTE(`flugbuch`.`startzeit`) - 2, ":", SECOND(`flugbuch`.`startzeit`) ) AND `t`.`startzeit` <= CONCAT( HOUR(`flugbuch`.`startzeit`), ":", MINUTE(`flugbuch`.`startzeit`) + 2, ":", SECOND(`flugbuch`.`startzeit`) ) ) ) AND `t`.`startart` = 2 LIMIT 1 ) WHEN ((`flugbuch`.`preiskategorie` = "FR") AND (`mitglieder_2`.`nachname` IS NULL)) THEN "F-Schlepp" WHEN ((`mitglieder_2`.`nachname` IS NULL) AND (`flugbuch`.`besatzung2` IS NOT NULL)) THEN CONCAT("9999", UPPER(`flugbuch`.`besatzung2`)) ELSE `mitglieder_2`.`nachname` END AS `begleiter`, `startarten`.`kbez` AS `startart`, CASE WHEN (`flugplaetze_1`.`name` IS NULL) THEN `flugbuch`.`startort` ELSE `flugplaetze_1`.`name` END AS `startort`, CASE WHEN (`flugplaetze_2`.`name` IS NULL) THEN `flugbuch`.`landeort` ELSE `flugplaetze_2`.`name` END AS `landeort`, `flugbuch`.`startzeit` AS `startzeit`, `flugbuch`.`landezeit` AS `landezeit`, `flugbuch`.`flugzeit` AS `flugzeit`, `flugbuch`.`landungen` AS `landungen`, `flugbuch`.`bemerkungen` AS `bemerkungen` FROM `flugbuch` INNER JOIN `flugzeuge` ON `flugbuch`.`luftfahrzeug` = `flugzeuge`.`kennzeichen` LEFT JOIN `mitglieder` AS `mitglieder_1` ON `flugbuch`.`besatzung1` LIKE CONCAT("%%", `mitglieder_1`.`ameavia`, "%%") LEFT JOIN `mitglieder` AS `mitglieder_2` ON `flugbuch`.`besatzung2` LIKE CONCAT("%%", `mitglieder_2`.`ameavia`, "%%") INNER JOIN `startarten` ON `startarten`.`id` = `flugbuch`.`startart` INNER JOIN `flugzeugtyp` ON `flugzeugtyp`.`id` = `flugzeuge`.`typ1` LEFT JOIN `flugplaetze` AS `flugplaetze_1` ON `flugbuch`.`startort` = `flugplaetze_1`.`ameavia` LEFT JOIN `flugplaetze` AS `flugplaetze_2` ON `flugbuch`.`landeort` = `flugplaetze_2`.`ameavia` WHERE `mitglieder_1`.`id` = %d AND `flugbuch`.`datum` > DATE_SUB(NOW(), INTERVAL 12 MONTH) AND `flugbuch`.`geloescht` = "N" UNION ( SELECT `flugbuch`.`datum` AS `datum`, `flugzeugtyp`.`gruppe` AS `gruppe`, `flugzeuge`.`flugzeugtyp` AS `typ`, `flugzeuge`.`kennzeichen` AS `kennzeichen`, CASE WHEN ((`mitglieder_1`.`nachname` IS NULL) AND (`flugbuch`.`besatzung1` IS NOT NULL)) THEN CONCAT("9999", UPPER(`flugbuch`.`besatzung1`)) ELSE `mitglieder_1`.`nachname` END AS `pilot`, `mitglieder_2`.`nachname` AS `begleiter`, `startarten`.`kbez` AS `startart`, CASE WHEN (`flugplaetze_1`.`name` IS NULL) THEN `flugbuch`.`startort` ELSE `flugplaetze_1`.`name` END AS `startort`, CASE WHEN (`flugplaetze_2`.`name` IS NULL) THEN `flugbuch`.`landeort` ELSE `flugplaetze_2`.`name` END AS `landeort`, `flugbuch`.`startzeit` AS `startzeit`, `flugbuch`.`landezeit` AS `landezeit`, `flugbuch`.`flugzeit` AS `flugzeit`, `flugbuch`.`landungen` AS `landungen`, `flugbuch`.`bemerkungen` AS `bemerkungen` FROM `flugbuch` INNER JOIN `flugzeuge` ON `flugbuch`.`luftfahrzeug` = `flugzeuge`.`kennzeichen` LEFT JOIN `mitglieder` AS `mitglieder_1` ON `flugbuch`.`besatzung1` LIKE CONCAT("%%", `mitglieder_1`.`ameavia`, "%%") LEFT JOIN `mitglieder` AS `mitglieder_2` ON `flugbuch`.`besatzung2` LIKE CONCAT("%%", `mitglieder_2`.`ameavia`, "%%") INNER JOIN `startarten` ON `startarten`.`id` = `flugbuch`.`startart` INNER JOIN `flugzeugtyp` ON `flugzeugtyp`.`id` = `flugzeuge`.`typ1` LEFT JOIN `flugplaetze` AS `flugplaetze_1` ON `flugbuch`.`startort` = `flugplaetze_1`.`ameavia` LEFT JOIN `flugplaetze` AS `flugplaetze_2` ON `flugbuch`.`landeort` = `flugplaetze_2`.`ameavia` WHERE `mitglieder_2`.`id` = %d AND (`flugbuch`.`preiskategorie` != "FM" AND `flugbuch`.`preiskategorie` != "FR" AND (`flugbuch`.`datum` > DATE_SUB(NOW(), INTERVAL 12 MONTH))) AND ( (`flugzeuge`.`typ1` IN ("S1", "S2") AND FIND_IN_SET("C", `mitglieder_2`.`fachausweise`)) OR (`flugzeuge`.`typ1` IN ("MS") AND FIND_IN_SET("B", `mitglieder_2`.`fachausweise`)) OR (`flugzeuge`.`typ1` IN ("M1", "M2", "M3") AND FIND_IN_SET("A", `mitglieder_2`.`fachausweise`)) OR (`flugzeuge`.`typ1` = "UL" AND FIND_IN_SET("H", `mitglieder_2`.`fachausweise`)) ) AND `flugbuch`.`geloescht` = "N" ) ) AS `hauptflugbuch` ORDER BY `hauptflugbuch`.`datum` ASC, `hauptflugbuch`.`startzeit` ASC ', $acb_nr, $acb_nr); // 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; while ($zeile = mysql_fetch_object($db_erg)) { // Vor- und Nachname für den Pilot formatieren if (substr($zeile->pilot, 0, 4) == "9999") { $return[$i]['pilot'] = ucwords(strtolower(substr($zeile->pilot, 4, strlen($zeile->pilot) - 4))); } else { $return[$i]['pilot'] = $zeile->pilot; } // Vor- und Nachname für den Begleiter formatieren if (substr($zeile->begleiter, 0, 4) == "9999") { $return[$i]['begleiter'] = ucwords(strtolower(substr($zeile->begleiter, 4, strlen($zeile->begleiter) - 4))); } else { $return[$i]['begleiter'] = $zeile->begleiter; } // Daten übernehmen wie hinterlegt // Flugbuchdaten in das Rückgabe-Array einfügen $return[$i]['id'] = $i + 1; $return[$i]['datum'] = fromSqlDatum($zeile->datum); $return[$i]['gruppe'] = $zeile->gruppe; $return[$i]['typ'] = $zeile->typ; $return[$i]['kennzeichen'] = $zeile->kennzeichen; $return[$i]['startart'] = $zeile->startart; $return[$i]['startort'] = $zeile->startort; $return[$i]['landeort'] = $zeile->landeort; $return[$i]['startzeit'] = substr($zeile->startzeit, 0, 5); $return[$i]['landezeit'] = substr($zeile->landezeit, 0, 5); $return[$i]['flugzeit'] = $zeile->flugzeit; $return[$i]['landungen'] = $zeile->landungen; $return[$i]['bemerkungen'] = $zeile->bemerkungen; // Zähler erhöhen $i++; } // Verbindung zur Datenbank schließen mysql_free_result($db_erg); // Rückgabe der Tabellenansicht return $return; }