Krull: "Unscharfe" Suche in MSSQL-Datenbank

Beitrag lesen

Hallo zusammen.

Wie einigen mittlerweile bekannt sein sollte entwickle ich eine Datenbank zur Archivierung von Wickeldaten.

Nun stehe ich hoffentlich vor meinem letzten Problem.

Und zwar soll die Datenbank "unscharf" durchsucht werden.

Wenn z.B. nach einem Motortyp gesucht wird und dieser in der Datenbank mit:

S10559

steht aber der Suchende jetzt z.B. S 10559 oder 10559 eingibt soll trotzdem der Eintrag S10559 gefunden werden. Gegebenenfalls auch ein paar (2-3) andere.

Ich habe bisher das hier:

  
<?php  
  
error_reporting(E_ALL);  
ini_set('display_errors','Off');  
  
$config = array( das wichtigste hier! );  
  
if($_SERVER['REQUEST_METHOD'] == 'post') {  
	$typ = $_POST['suchtyp'];  
	$suchfeld = $_POST['suchfeld'];  
  
if($suche = trim($suchfeld)) {	  
	if(!get_magic_quotes_gpc()) $suche = addslashes($suche);  
}  
  
$sbs = preg_split('/\s+/',$suche);  
  
foreach ($sbs as $sb) {  
	$sb = preg_replace('/\W/','',$sb);  
	if(strlen($sb) > 0) $suchbegriffe[] = $sb;  
}  
        $conn = odbc_connect($config['db_dsn'],  
                             $config['db_username'],  
                             $config['db_password']);  
  
  
        $check = "SELECT [Fabrikat], [Typ], usw...  
                  FROM [wickel_db].[dbo].[data]  
                  WHERE [$typ]  
                  LIKE '$suchbegriffe[0]%'  
                    AND [$typ]  
                  LIKE '$suchbegriffe[1]%'";  
  
        $exec = odbc_exec($conn,$check);  
  
}  
  
// display template  
include($config['template']);  
  
?> 

Das ganze Funktioniert aber nicht so wie ich mir das vorgestellt habe. s.O.^^

Kann mir in dem Fall jemand helfen?

Oder ein paar Links geben wo ich eine Lösung für das Problem finden könnte?
Oder auch eine Profi-PHP-Script-Suchmaschine die eine MSSQL-Datenbank dursucht?

Ich wäre euch übelst dankbar. Mein Chef drängelt nämlich schon: "Wann is das Ding denn endlich fertig?"
Und ich bin gelernter Elektromaschinenbauer und kein IT-Profi =))