Mailinglisten-Archive |
Hallo,
Uwe schrieb:
> du hast in der Verknüpfungstabelle keinen Primärschlüssel.
Für welche ID würdest Du einen Primärschlüssel anlegen? Soll ja in beide
Richtungen gesucht werden...
Sebastian schrieb:
> allerdings ist diese Lösung nur ratsam wenn du genau weißt das es bei
> den zwei Sprachen bleibt, ansonsten wäre die Lösung von Kai wesentlich
Ganz sicher: das ist eine deutsche WebSite über Rumänien.
(engl.-rum. gibt's schon genug)
Nur aus Interesse: wie kann man bei Kai's Lösung die Tabellen unter
Berücksichtigung der Mehrdeutigkeiten verknüpfen?
Ich habe jetzt eine akzeptable Geschwindigkeit mit dieser Lösung:
$sql = "SELECT * ";
$sql .= " FROM $tabelle AS tab_id ";
$sql .= " INNER JOIN $tabelle1 AS tab_de ON tab_id.id_de = tab_de.id_de ";
$sql .= " INNER JOIN $tabelle2 AS tab_ro ON tab_id.id_ro = tab_ro.id_ro ";
$sql .= " ORDER BY tab_de.deu, tab_ro.rum ";
***
$sql .= " WHERE tab_de.deu = '$such_de' ";
$sql .= " WHERE tab_de.deu like '%$such_de%' ";
$sql .= " WHERE MATCH (tab_de.deu) AGAINST ('$such_de') ";
***
Die Bedingungen habe ich wieder entfernt wegen der tollen Möglichkeiten
von PHP (vor allem "soundex()" in Kombination mit "spliti()"):
$suchstring12 = soundex($suchstring);
$deu_array = spliti ('[, ]', $deu);
for($ig=0;$ig<(count($deu_array));$ig++)
{
$suchstring6d = soundex($deu_array[$ig]);
if ( $suchstring12==$suchstring6d ) {$gefunden=1;}
}
Ich weiß, SOUNDEX gibt's auch für SELECT, aber kann das obige Beispiel
auch in mySQL realisiert werden?
Danke und Gruß
René Thiel (Rennkuckuck)
mailto:reti at rennkuckuck.de
http://rennkuckuck.de/php/dictionar/ - Wörterbuch im Entstehen
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive