Tschjensi: SQL Suche nach Ähnlichkeit

Beitrag lesen

Ich glaube das Querdenkerprinzip bei mir ist das z.B. Bei der suche nach: "Anna Sophie" auch der Eintrag "Sofia" gelistet werden soll.

Und da die beiden Begriffe Logisch gesehen nicht zusammen passen muss hier eine Verknüfung gesetzt werden.

Hier einmal mein bisheriger Quelltext, ich hoffe ich bin hier auf den richtigen Weg. zwar ist es richtig das das hinzufügen von 'Referenzbegriffen' nicht der bequemste Ansatz ist, aber meine jetzige Suche basiert auf "Zeige mir ähnlich logische Einträge" sowie "Ich wünsch mir nen Ponnyhof"-Eintrag 😉

if ($_POST["suchbegriff"]){
		// Mysql Abfrage wird gespeichert mit den Notwendigen Parameter

$AQtext = "";
$teile = explode(" ", $_POST["suchbegriff"]);
foreach($teile as $key=>$value){
	#echo "Index " . $key . " hat den Wert " . $value . "<br>";
if ($value != ""){		
		$AQtext = $AQtext." OR Vorname  LIKE ('%".mysql_real_escape_string(utf8_decode($value ))."%')";
		#echo $AQtext."<br>";

		$sql = "SELECT * FROM Aequivalente WHERE Begriff LIKE ('%".mysql_real_escape_string(utf8_decode($value ))."%')";
		$queryresult = mysql_query($sql);
		while($row = mysql_fetch_object($queryresult)){
			$ZeileAQ[$i] = utf8_encode($row->Begriff);
			$Gruppe = utf8_encode($row->Gruppe);
			#echo $Gruppe;
			#echo "<br/>";
			$i++;	
		}
		
		$sql = "SELECT * FROM Aequivalente WHERE Gruppe='$Gruppe'";
		$queryresult = mysql_query($sql);
		while($row = mysql_fetch_object($queryresult)){
			$ZeileAQ = utf8_encode($row->Begriff);
			#$Gruppe = utf8_encode($row->Gruppe);
			#echo $ZeileAQ[$i];
			#echo "<br/>";
			$AQtext = $AQtext." OR Vorname  LIKE ('%".mysql_real_escape_string(utf8_decode($ZeileAQ ))."%')"; 
			$i++;	
		}

		} 


}

$sql = "SELECT * FROM ".$tabelle." WHERE Vorname LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%') $AQtext ";
#echo $sql;
		// Mysql Abfrage wird durchgeführt
		$result = mysql_query($sql);
		
		
		$i=0;
		while($row = mysql_fetch_object($result)){
			$Zeile[$i] = utf8_encode($row->Vorname);
			#echo $Zeile[$i]."<br>";
			$i++;	
		}