Mam pytanie odnośnie poniższego kodu.
$female = false; { $female = $row['sex'] == 'F'; } else { $sql = "SELECT sex FROM `{$people_table}` WHERE `personID` = '{$row['personID']}'"; $mresult = tng_query($sql); $mrow = tng_fetch_assoc( $mresult ); tng_free_result( $mresult ); { $female = $mrow['sex'] == 'F'; } } // If it is a female we will see if married name munging is required if( $female ) { $marriedType = '1'; $extraWhere = ''; if( $marriedType == '1') { $extraWhere .= " AND NOT (f.marrtype = '' OR f.marrtype IS NULL)"; } $sql = "SELECT p.`lastname`, p.`lnprefix` FROM `{$families_table}` AS f LEFT JOIN `{$people_table}` AS p ON p.`PersonID` = f.`husband` WHERE f.`wife` = '{$personID}' {$extraWhere} ORDER BY f.`wifeorder` DESC LIMIT 0,1"; $mresult = tng_query($sql); $mrow = tng_fetch_assoc( $mresult ); tng_free_result( $mresult ); { $mprefix = preg_replace("/\"/", """,$mrow['lnprefix']); $mName = trim( $mprefix." ".$mName ); if( $tngconfig['ucsurnames'] ) $mName = tng_strtoupper($mName); $lastname = "{$mName} ({$text['nee']} {$lastname})"; } }
Jest to fragment strony internetowej poświęconej genealogii rodzinnej. W domyśle zamienia on wyświetlanie nazwiska zamężnej kobiety. Zamienia panieńskie nazwisko kobiety na nazwisko męża, a w nawiasie dodaje jej nazwisko rodowe. Czyli mając wpis w tabeli SQL „Anna Nowak”, która wyszła za mąż za Jana Kowalskiego, zmienia on wyświetlanie na „Anna Kowalski (z d. Nowak)”.
Czy ten kod da się zmodyfikować w ten sposób, żeby sprawdzał ostatnie dwie litery w nazwisku męża i jeżeli jest to „ki” to podmieniał by to „ka”. Chodzi o to, że w przypadku nazwisk kończących się na „ki” kod zostawia to tak jak jest i mamy takie kwiatki jak powyżej (czyli Anna Kowalski a nie Kowalska).