Boolsche Suche

Hallo zusammen,

erstmal vorn weg. Ich bin PHP und MySQL-Anfänger und beschäftige mich
mit diesem Thema nicht ganz freiwillig. Aber ich möchte ja mein
Studium doch schaffen ;o)

Ich suche nun eine Möglichkeit eine boolsche Suche in meine
Webdatenbank einzubauen. Ich stelle mir da in etwas so etwas vor:
http://www.sowi.uni-mannheim.de/lehrstuehle/lssoz1/seiten/he lp/suchen.php

oder auch die Möglichkeit mit zwei Feldern für jeweils ein Suchbegriff
und der Möglichkeit ein AND bzw. OR aus zu wählen.

kann mir da jemand einen Tipp geben?
Ich wüßte auch gerne, ob man das mit alles Feldtypen machen kann. Oder
muß ich alle Typen auf TEXT stellen? Was müßte ich noch beachten?
Gibt es Beispielscripte, die ich verwenden könnte?

Würde mich sehr über jeden Hinweis freuen.
Schon mal danke im vorraus

Mandy
mk136 [ Mo, 12 Februar 2007 11:13 ] [ ID #1626823 ]

Re: Boolsche Suche

Mandy K. schrieb:
^^^^^^^^

Hier bitte vollen Realnamen eintragen.

> Ich suche nun eine Möglichkeit eine boolsche Suche in meine
> Webdatenbank einzubauen. Ich stelle mir da in etwas so etwas vor:
> http://www.sowi.uni-mannheim.de/lehrstuehle/lssoz1/seiten/he lp/suchen.php

Und was ist daran boolesch? Ich sehe dort eine Suche nach irgendwelchen
Zeichenfolgen.

> Ich wüßte auch gerne, ob man das mit alles Feldtypen machen kann. Oder
> muß ich alle Typen auf TEXT stellen?

Suchen kannst Du selbstverständlich in allen Feldtypen. Alles andere
würde auch keinen Sinn ergeben.

Zum Suchen gibt es den SQL-Befehl SELECT. Alles weitere findest Du im
Manual Deiner Datenbank.

Gruß. Claus
--
,~°O O
O <http://www.wedding-card.de/> ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /
Claus Reibenstein [ Mo, 12 Februar 2007 12:40 ] [ ID #1626824 ]

Re: Boolsche Suche

Mandy K. schrieb:
> Hallo zusammen,
>
> erstmal vorn weg. Ich bin PHP und MySQL-Anfänger und beschäftige mich
> mit diesem Thema nicht ganz freiwillig. Aber ich möchte ja mein
> Studium doch schaffen ;o)

Frage:
Waren SQL Kurse teil des Studiums?


> Ich suche nun eine Möglichkeit eine boolsche Suche in meine
> Webdatenbank einzubauen. Ich stelle mir da in etwas so etwas vor:
> http://www.sowi.uni-mannheim.de/lehrstuehle/lssoz1/seiten/he lp/suchen.php
>
> oder auch die Möglichkeit mit zwei Feldern für jeweils ein Suchbegriff
> und der Möglichkeit ein AND bzw. OR aus zu wählen.

Was sinnvoll ist haengt von der Menge der Spalten, Spaltentypen und
deren Anzahl ab. Zur Suche innerhalb eines Textes wirst du wohl um "LIKE
%foo%" nicht herum kommen. Da hier aber prinzipbedingt keine Indices
mehr helfen empfiehlt sie diese Loesung nur bei einer ueberschaubaren
Mengen an Datensaetzen bzw. Spalten.

> kann mir da jemand einen Tipp geben?
> Ich wüßte auch gerne, ob man das mit alles Feldtypen machen kann. Oder
> muß ich alle Typen auf TEXT stellen? Was müßte ich noch beachten?
> Gibt es Beispielscripte, die ich verwenden könnte?

Jenach verwendeter Datenbank hat diese auch spezielle Volltextindices.
Schau halt mal unter dev.mysql.com/FULLTEXT nach. Diese Indices kann
man aber nur bei bestimmten Tabellenhandler bzw. Spalten setzten.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de
Joerg Behrens [ Mo, 12 Februar 2007 14:57 ] [ ID #1626825 ]

Re: Boolsche Suche

On 12 Feb., 14:57, Joerg Behrens <behr... [at] takenet.de> wrote:
> Mandy K. schrieb:
>
>
> Frage:
> Waren SQL Kurse teil des Studiums?
ja, damit komme ich auch wesentlich besser zurecht, als mit PHP :o/
>
>
> > oder auch die Möglichkeit mit zwei Feldern für jeweils ein Suchbegr=
iff
> > und der Möglichkeit ein AND bzw. OR aus zu wählen.
>
> Was sinnvoll ist haengt von der Menge der Spalten, Spaltentypen und
> deren Anzahl ab. Zur Suche innerhalb eines Textes wirst du wohl um "LIKE
> %foo%" nicht herum kommen. Da hier aber prinzipbedingt keine Indices
> mehr helfen empfiehlt sie diese Loesung nur bei einer ueberschaubaren
> Mengen an Datensaetzen bzw. Spalten.
es handlet sich schon um eine überschaubare Datenbank, die nur aus
zwei Tabellen besteht.
>
> > kann mir da jemand einen Tipp geben?
> > Ich wüßte auch gerne, ob man das mit alles Feldtypen machen kann. O=
der
> > muß ich alle Typen auf TEXT stellen? Was müßte ich noch beachten?
> > Gibt es Beispielscripte, die ich verwenden könnte?
>
> Jenach verwendeter Datenbank hat diese auch spezielle Volltextindices.
> Schau halt mal unter dev.mysql.com/FULLTEXT nach.
das könnte mir vielleicht schon ein bischen weiterhelfen ... vielen
dank. Ich habe diese Funktion zwar schon erfolglos ausprobiert. Aber
vielleicht finde ich in diesem Text ja noch einige wichtige Hinweise.

>Diese Indices kann
> man aber nur bei bestimmten Tabellenhandler bzw. Spalten setzten.
CHAR, VARCHAR, or TEXT in MyISAM Tabellen
>
Danke für die Hilfe. Ich werde dann nochmal weiter tüfteln ...

Viele Grüße,
Mandy
mk136 [ Mo, 12 Februar 2007 15:23 ] [ ID #1626826 ]

Re: Boolsche Suche

Mandy K. schrieb:
> On 12 Feb., 14:57, Joerg Behrens <behr... [at] takenet.de> wrote:
>> Mandy K. schrieb:
>>
>>
>> Frage:
>> Waren SQL Kurse teil des Studiums?
> ja, damit komme ich auch wesentlich besser zurecht, als mit PHP :o/

Deine Frage klang aber nicht so sehr nach PHP drum hab ich gefragt.
Welche Technik verwendet wird (LIKE oder againg match (Fulltext)) hat
nichts mit PHP zu tun sondern einzig mit der Datenbank und dem
bisherigen Layout.


>>> Ich wüßte auch gerne, ob man das mit alles Feldtypen machen kann. Oder
>>> muß ich alle Typen auf TEXT stellen? Was müßte ich noch beachten?
>>> Gibt es Beispielscripte, die ich verwenden könnte?
>> Jenach verwendeter Datenbank hat diese auch spezielle Volltextindices.
>> Schau halt mal unter dev.mysql.com/FULLTEXT nach.
> das könnte mir vielleicht schon ein bischen weiterhelfen ... vielen
> dank. Ich habe diese Funktion zwar schon erfolglos ausprobiert. Aber
> vielleicht finde ich in diesem Text ja noch einige wichtige Hinweise.
>
>> Diese Indices kann
>> man aber nur bei bestimmten Tabellenhandler bzw. Spalten setzten.
> CHAR, VARCHAR, or TEXT in MyISAM Tabellen
> Danke für die Hilfe. Ich werde dann nochmal weiter tüfteln ...

Somit ist das geeignet fuer MySQL Fulltext. Stelle also die Indices fuer
deine Spalten.

1. HTML Form schreiben
2. Parser in PHP screiben welche das passende Statement entsprechend
erzeugt.
3. Query absetzen
4. rgebnisse darstellen.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de
Joerg Behrens [ Mo, 12 Februar 2007 17:42 ] [ ID #1626827 ]

Re: Boolsche Suche

Danke für die vielen Infos. Ich werde leide erst wieder am Wochenende
dazu kommen, dem mal nach zu gehen. Mal sehen, ob ich weiterkomme. Ich
bin mir nicht ganz sicher, ob mein "Problem" wirklich nur ein MySQL-
Problem ist. Es gibt ja noch so viele Möglichkeiten in PHP mit Arrays
und if-else-Geschichten. Habe ein bischen den =DCberblick verlohren.
Aber wie gesagt, ich probiere mich am WE nochmal und dann sehen wir
weiter.

VG, Mandy
mk136 [ Di, 13 Februar 2007 21:25 ] [ ID #1628188 ]
PHP » de.comp.lang.php.datenbanken » Boolsche Suche

Vorheriges Thema: Anlegen eines Datensatzes in einer MySQL-Tabelle
Nächstes Thema: Mehrdimensionales Array/MySQL