Verfasst: 07.08.2003 18:01
Der zweite und/oder dritte Parameter müssen arrays sein. Einfach ein String mit zwei Feldern reicht nicht. (mich wundert allerdings, daß im SQL später 'Array' ausgegeben wird, obwohl du keins als Parameter übergibst).
Zum besseren Verständnis hier mal ein paar Beispiele ($search = 'irgend + was'):wird zu(Die Suchbegriffe müssen in Titel oder Beschreibung enthalten sein)
wird zu(Die Suchbegriffe müssen entweder im Titel enthalten sein oder exakt einem der Schlüsselwörter entsprechen)
wird zu(Die Suchbegriffe müssen in Titel und Beschreibung enthalten sein oder exakt Autor oder Schlüsselwörtern entsprechen)
Zum besseren Verständnis hier mal ein paar Beispiele ($search = 'irgend + was'):
Code: Alles auswählen
SearchToSQL($search, array('titel', 'beschreibung'));
Code: Alles auswählen
((titel LIKE '%irgend%' AND titel LIKE '%was%') OR (beschreibung LIKE '%irgend%' AND beschreibung LIKE '%was%'))
Code: Alles auswählen
SearchToSQL($search, 'd.titel', 'k.keyword')
Code: Alles auswählen
((d.titel LIKE '%irgend%' AND d.titel LIKE '%was%')) OR ((k.keyword = 'irgend' OR k.keyword = 'was'))
Code: Alles auswählen
SearchToSQL($search, array('d.titel', 'd.beschreibung'), array('d.autor', 'k.keyword'), array('like_fields_combine' => 'AND'))
Code: Alles auswählen
((d.titel LIKE '%irgend%' AND d.titel LIKE '%was%') AND (d.beschreibung LIKE '%irgend%' AND d.beschreibung LIKE '%was%')) OR ((d.autor = 'irgend' OR d.autor = 'was') OR (k.keyword = 'irgend' OR k.keyword = 'was'))