

Wenn man viele Datensätze zu verwalten hat, ist es oft vorteilhaft, wenn man sich möglichst schnell durch die Datensätze klicken kann. Also eine Blätterfunktion durch die Datenbank.
Ich habe die Problemstellung so gelöst:
Sortiert wird in diesem Fall nach `title`.
Schritt 1: Wert vom `title` des aktuellen Eintrages ermitteln
%title_value% = SELECT title FROM table WHERE `id` = %id%
Schritt 2 wenn aufsteigend Sortiert wird:
Erster Eintrag: SELECT `id` FROM table ORDER BY title DESC LIMIT 1
Eintrag zurück: SELECT `id` FROM table WHERE title > '%title_value%' ORDER BY title ASC LIMIT 1
Eintrag vor: SELECT `id` FROM table WHERE title < '%title_value%' ORDER BY title DESC LIMIT 1
Letzter Eintrag: SELECT `id` FROM table ORDER BY title ASC LIMIT 1
Schritt 2 wenn absteigend Sortiert wird:
[php]Erster Eintrag: SELECT `id` FROM table ORDER BY title ASC LIMIT 1
Für ein Projekt musste ich eine Suche nach Kundendaten entwickeln, die möglichst schnell ist und natürlich auch brauchbare Ergebnisse liefert. Die php internen Funktionen wie Soundex oder Levenshtein finde ich persönlich für überhaupt nicht brauchbar.
Deshalb hab ich eine kleine Funktion entwickelt, die "Begriffe" vereinfacht. zB Gibt es in der Datenbank einen Namen, Ort, Plz, Adresse.... Ich füge alles zusammen in einen String und lasse die Funktion darüber laufen. Auch der Suchbegriff wird entsprechend angepasst, danach reicht ein einfaches like = '%$string%'. Einfach, schnell und gut.
[php] function matchcode ($string) {
$arr = array(
'MAI'=>'MEI',
'MY'=>'MEI',
'P'=>'B',
'T'=>'D',
'Ä'=>'A',
'Ö'=>'O',
'Ü'=>'U',
'ß'=>'s',
'-'=>'',
Manchmal möchte man überprüfen, ob ein bestimmtes Datum ein Feiertag, Arbeitstag oder Wochenende ist. Dafür habe ich jetzt eine kleine php Funktion geschrieben:
Das php Script:
Ist natürlich beliebig erweiterbar. Die Variable $bundesland ist optional, um die Feiertage von einem Bundesland zu ermitteln. Macht manchmal auch Sinn.
So weit würde ich nicht gehen, und das behaupten. Ich kenne Drupal schon recht lange, habe aber erst vor ca. 6 Wochen das erste Projekt damit umgesetzt.
Mein Vater wollte ein kleines Portal für unsere Heimatgemeinde einrichten. Da es auch weitere Mitarbeiter geben soll, habe ich Drupal als CMS gewählt und keine Eigenentwicklung genommen.
Noch ist php6 nicht in Sichtweite. Zeit wird es allerdings schön langsam. Im Moment funktioniert die Verarbeitung von UTF-8 Strings nur sehr dürftig, und die einzelnen Versionen haben immer wieder Bugs dabei.
Selbst mit mbstring hat man immer wieder so seine Problemchen. z.B. Dieser Code funktioniert unter php5 nicht, aber schon unter php4:
[php]
header
( ‘Content-Type: text/html; charset=UTF-8′ );
$str = “Das den sind kommenden schlimme über Schäden oder am Dach!”;
echo $str . ‘
’;
mb_internal_encoding( ‘UTF-8′ );
echo preg_replace(“/\b(das|den|über|sind|am|oder)\b/iu”, ‘@@@’, $str ) . ‘
’;
echo mb_eregi_replace(“\b(das|den|über|sind|am|oder)\b”, ‘@@@’, $str ) . ‘
Schnellanleitung für Archlinux:
# pacman -S msmtp
# touch /etc/msmtprc
account default
host mail.server.at
from user@server.at
auth login
user BENUTZER
password KENNWORT
syslog LOG_MAIL
# chmod 0600 /etc/msmtprc