phpbar.de logo

Mailinglisten-Archive

Dictionary-DB

Dictionary-DB

René Thiel reti at rennkuckuck.de
Mon Sep 22 20:10:49 CEST 2003


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