SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.04.2004, 18:09:07
Herr-Zinfarkt Herr-Zinfarkt ist offline
Anfänger
 
Registriert seit: Apr 2004
Beiträge: 53
Suchen mit oder ohne regulären Ausdrücken??

Also, ich versuche ne ganz normale Suche auf meiner Page einzubauen. Gesucht wird in einer Mysql-DB. Hab bis jetzt versucht dat über php zu regeln mit:

eregi($Suche,$row["blabla"])

($Suche entspricht der Zeichenfolge, $row["blabla"] dem String, der durchsucht wird)

1.Prob:
ich muß so jeden eintrag in meiner db einlesen, was ja net so gut is!!!

2.Prob:
ich möchte, das die suche wie bei google funzt, d.h., dass die leute auch Quantifier in ihre Suche einbauen können.

3. Prob:
ich kann so nur nach einer zeichenkette suchen lassen, und nicht z.b. nach "Auto Ford Focus".


Also, was ich suche, ist eine Suchfunktion, in der ich wie bei google alles eingeben kann inkl. Quantifier und Sonderzeichen("Ich suche autos +schinken") und die dann einen String nach diesem Suchmuster durchsucht, oder noch besser die Mysql-DB nach diesem Suchmuster durchsucht...

Also schon mal danke im vorraus bis denne.
Mit Zitat antworten
  #2  
Alt 11.04.2004, 22:59:56
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
erst mal herzlich willkommen im forum!

was du vorhast ist ziemlich komplex. für eine einfache suche reicht es, das vorkommen des suchbegriffes mit "WHERE feldname LIKE 'suchwort'" die sql-abfrage aufzubauen. aber für eine wirklich anspruchsvolle suche empfehle ich einerseits eine index-tabelle mit stichworten anzulegen, andererseits kann man auch (wenn die tabelle nicht all zu groß ist) mysql-regex benutzen. siehe
da:

http://www.mysql.de/doc/de/Regexp.html

du zerpflückst die suchbegriffe per php und baust dir daraus einen sql-query, der dann alles für dich erledigt...sind ein paar knifflige if-statements und while-schleifen, vor allem die mysql-regex sind nicht ohne.

aber eine wirklich ausgefeilte suche ist sehr selten, aber auch viel arbeit...viel spaß dabei!

p.s.: der vorteil von mysql-regex im gegensatz zu der preg-engine in php ist, dass sie schweine schnell sind und du nicht erst die komplette db einlesen muss...
Mit Zitat antworten
  #3  
Alt 12.04.2004, 15:33:27
Herr-Zinfarkt Herr-Zinfarkt ist offline
Anfänger
 
Registriert seit: Apr 2004
Beiträge: 53
also ich hab die seite mal überflogen und das ist an sich genau das was ich gesucht habe! Dafür erstmal vielen danke. Denke das ist wie du sagst mit ein bissel arbeit auch zu meistern.

Eine frage nur noch, was meinst du damit, eine index-tabelle mit stichworten anzulegen? Welchen Sinn hat das genau und wie sollte man das anstellen, damit das vernünftig funzt?
Mit Zitat antworten
  #4  
Alt 13.04.2004, 03:02:10
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
also...du durchsuchst ja meinetwegen artikel. du schnappst dir einfach alle worte aus den artikeln und legst für jedes wort ne eigene zeile in einer neuen table an. dann noch eine spalte in welchem artikel das jeweilige wort vorkommt, das wars...so hab ich das jedenfalls verstanden...die kannst du dann durchsuchen...

such auch mal nach fulltext indizes in verbindung mit mysql...müsste was zu finden sein...
Mit Zitat antworten
  #5  
Alt 13.04.2004, 14:14:31
Herr-Zinfarkt Herr-Zinfarkt ist offline
Anfänger
 
Registriert seit: Apr 2004
Beiträge: 53
also wie oben schon erst mal vielen dank, das bringt mich ziemlich weit in meinem vorhaben und an sich klappt das nun auch alles so wie isch dat will!!! So siehts aus:

$result = mysql_query("SELECT *
FROM `daten`
WHERE * REGEXP '$Suche'");

Allerdings (sorry): ich will nun z.B. nach der Zeichenfolge "Geld Schuhe" suchen lassen. also praktisch gesehen gibt einer in das suchformular ein: "Geld Schuhe" (mit den Anführungszeichen)!!!

Das funktioniert leider dann net mehr, da die Anführungszeichen net passen. Gibts da ne funktion oder muß ich dat selbst rausfiltern???
Mit Zitat antworten
  #6  
Alt 13.04.2004, 16:49:42
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
naja, du musst halt das, was zwischen den '' steht, rausholen und danach suchen...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:56:23 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt