phpbar.de logo

Mailinglisten-Archive

[php] Suche 3in1

[php] Suche 3in1

Norbert Pfeiffer norbert at itbw.de
Mit Feb 15 16:37:42 CET 2006


Hi,

> > Also brauche ich alternative Vorschlaege ... :-)
> was 'darfst' du denn verwenden? MySQL Version?
MySQL/4.0.25-standard-log

Eigentlich koennte man ja den durchsuchbaren Content der
jeweiligen Tabelle in eine andere Tabelle ueberfuehren:

CREATE TABLE grandsearch (
 nr   int(11) NOT NULL auto_increment,
 art  char(1) NOT NULL default '',
 idx  int(11) NOT NULL default 0,
 file varchar(11) NOT NULL default '',
 content text,
 FULLTEXT KEY (content),
 PRIMARY KEY (nr)
);

INSERT INTO grandsearch (art, idx, file, content)
SELECT 'K', kID, minAbb,
       CONCAT(vorname,' ',name,' ',biogra,' ',ausste)
  FROM kuenstler WHERE FG = 'Y';

INSERT INTO grandsearch (art, idx, file, content)
SELECT 'O', oID, minAbb, CONCAT(titel,' ',descr)
  FROM objects WHERE FG = 'Y';

INSERT INTO grandsearch (art, idx, file, content)
SELECT 'X', f.fID, f.titel, CONCAT(x.titel,' ',x.descr)
     FROM texte AS x
LEFT JOIN tex2fil AS m ON x.xID = m.xID
LEFT JOIN files AS f ON f.fID = m.fID
WHERE f.titel <> '*';


Nun hat man eine ganz normale Suche in einer Tabelle.
Fragt sich halt nur, wie oft man grandsearch aktualisiert,
MySQL hat leider keine Trigger ... :-(

Die Querys sind auch so durchgelaufen. Jedoch hat es
jede Menge Warnings gegeben:

Query OK, 0 rows affected (0.06 sec)

Query OK, 50 rows affected, 28 warnings (0.16 sec)
Datensõtze: 50  Duplikate: 0  Warnungen: 28

Query OK, 174 rows affected, 174 warnings (0.11 sec)
Datensõtze: 174  Duplikate: 0  Warnungen: 174

Query OK, 14 rows affected, 4 warnings (0.06 sec)
Datensõtze: 14  Duplikate: 0  Warnungen: 4

Was will MySQL mir damit sagen ... <gruebel>


m. b. G. Norbert
_____________________
normal:  02682-966898
Notruf:  0163-3613642
---------------------
e.o.m.


php::bar PHP Wiki   -   Listenarchive