Wie steht es denn in der Datenbank?
Kommt die 2000 da auch irgendwo drin vor?
$sql = "SELECT *,DATE_FORMAT(datumsfeld,'%d.%m.%Y') as fmtDatum FROM Testfall WHERE '$was' LIKE '$filter%'";
Dann kannst Du danach auf den Wert fmtDatum zugreifen, der bereits seitens MySQL schon konvertiert wurde...
Zu der anderen Frage: Übergebe doch als Values im Select einfach die Namen der Spalten, und füge der WHERE-Clause dynamisch hinzu: $sql .= " AND ".mysql_escape_string($spaltennameAusSelectFeld)." LIKE '".mysql_escape_string($textAusInputFeld)."'";
Edit:
<form name='mf' action='{$_SERVER['PHP_SELF']}' method='GET'>
Suche in:
<select name='was' style='width: 125px'>"; // <= Hier ist das Forumlar zur Spaltenauswahl.
echo"<option selected value='0'>Bitte wählen</option>
<option value='Auswertung_Items'>Auswertung Items</option>
<option value='Auswertung_getestet'>Auswertung getestet</option>
<option value='Auswertung_in_Ablauf'>Auswertung in Abläufen</option>
<option value='Nr'>Nr</option>
<option value='Auto_Testfall_ID'>Auto_Testfall_ID</option>
<option value='GV_Funktion_ID'>GV_Funktion_ID</option>
<option value='Funktionsbeschreibung'>Funktionsbeschreibung</option>
<option value='Testdatum'>Testdatum</option>
<option value='Beschreibung'>Beschreibung</option>
<option value='Vorraussetzung'>Vorraussetzung</option>
<option value='Sollergebnis'>Sollergebnis</option>
<option value='Verweis'>Verweis</option>
<option value='Reihenfolge'>Reihenfolge</option>";
echo"</select> nach: <input type='text' name='suche' class='normalMasken'>
<input type='submit' name='test_suche' value='Suchen'>
</form>";
$_GET['was'] und $_GET['test_suche'] beinhalten dann das, was Du brauchst...
(Zur Info: Ich habe die Dollar-Zeichen entfernt, weil Du hier die Spaltennamen als String übergeben sollst )
[/code]
Und ich sehe gerade, dass Du das mit der dynamischen WHERE-Clause schon halbwegs hast...
Edit2:
Und unter dem Aspekt der Sicherheit würde ich die übergebenen Werte der Select-Box innerhalb des Scripts nochmal einzeln validieren...