php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.05.2008, 14:43  
Neuer Benutzer
 
Registriert seit: 08.05.2008
Beiträge: 2
proud
Standard Einzeltreffer von MATCH ... AGAINST ... ermitteln

Hi zusammen!

Ich möchte gerne die Anzahl der einzelnen Treffer einer MATCH ... AGAINST ... Volltextsuche pro Datensatz ermitteln. Dabei geht es mir nicht nur um die Anzahl der gefundenen Datensätze selbst (das zu ermitteln ist ja kein Kuststück), sonder, und dass ist das wo ich nicht weiter komme, ich möchte genau wissen wieviele Treffer eine MATCH ... AGAINST ... Abfrage in allen Datensätzen ermittelt hat.

Zur Verdeutlichung:

Tabelle "foobar":
Code:
--------------------------------
| foo |           bar          |
--------------------------------
|   1 | Beipiel Datensatz      |
|   2 | Ein weiterer Datensatz |
|   3 | Noch einer             |
|   4 | Mehr, mehr, mehr ...   |
--------------------------------
Abfrage:

Code:
SELECT
  `foo`
FROM
  `foobar`
WHERE
  MATCH(`bar`) AGAINST(
    'datensatz mehr'
    IN BOOLEAN MODE
  )
Liefert:

-> `foo`: 1
-> `foo`: 2
-> `foo`: 4

Ich möchte aber auch wissen, das 5 Treffer in den gefundenen Datensätzen enthalten sind.

Kann mir da vielleicht einer einen hilfreichen Tip geben? Mit dem MySQL-Handbuch komme ich da nicht weit. Ich denke mal das muss eine eigene Prozedur her, oder?

Vielen Dank für Eure Hilfe!


LG proud
proud ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.05.2008, 23:22  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo proud,

du kannst hier mit COUNT() arbeiten. Ein Konstrukt der Art

Code:
SELECT
  `foo`, COUNT(bar) as count
FROM
  `foobar`
WHERE
  MATCH(`bar`) AGAINST(
    'datensatz mehr'
    IN BOOLEAN MODE
  )
zeigt dir die Anzahl der Treffer. Eine andere Möglichkeit ist die PHP-Funktion mysql_num_rows().
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 09.05.2008, 01:47  
Neuer Benutzer
 
Registriert seit: 08.05.2008
Beiträge: 2
proud
Standard

Hi dr.e.!

Danke für die nette Antwort!
Leider ist dass nur nicht das was ich gefragt habe
Die Anzahl der gefundenen Datensätze zu ermitteln ist ja kein Thema, aber die Anzahl aller Treffer innerhalb eines Datensatzes sehr wohl.
Wie Du anhand des obigen Beispiels sehen kannst, möchte ich nicht 3 als Ergebnis, sondern 5.


LG proud
proud ist offline   Mit Zitat antworten
Alt 09.05.2008, 08:31  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo proud,

mit deiner Beispiel-Query wirst du aber nur 3 Ergebnisse bekommen. Möchtest du die Einzelergebnisse (ich verstehe noch nicht ganz wie du diese gruppieren / kategorisieren willst) musst du die Query umschreiben. Mit einem Teil fragst du die Ergebnisse einer Kategorie und die Treffer ab, mit dem äußeren Teil stellst du das Ergebnis bereit.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche (MATCH) mit MYSQL ruferp Datenbanken 1 10.09.2007 22:06
match, against: ergebnisse filtern DarkThunder Datenbanken 4 30.03.2007 10:51
MATCH .... AGAINST ... Problem Denise Datenbanken 4 21.03.2007 20:05
Die Position ein. Datensätzes aus einer Datenliste ermitteln Locutus007 Datenbanken 8 07.03.2006 16:59
Match ... Against... einzeln oder gesammten string? EvilDragon Datenbanken 2 06.02.2006 14:49
Dateiname, Dateigröße ermitteln HTML, Usability und Barrierefreiheit 5 29.01.2006 22:16
Volltextsuche mit MATCH AGAINST über mehere Tabellen? Datenbanken 5 13.09.2005 15:02
build nummer des bs ermitteln ... nur bei microsoft's bs!!! PHP Tipps 2005-2 2 24.07.2005 15:59
Besucher mit den meisten GB Einträgen ermitteln! Datenbanken 7 21.04.2005 12:09
match .. against Mutatos Datenbanken 1 29.03.2005 16:42
MySQL Match Against Problem RcRaCk2k PHP-Fortgeschrittene 1 15.03.2005 12:22
pixelbreite eines Wort ermitteln... 18inch PHP Tipps 2005 5 07.01.2005 22:55
CRC Summe einer Datei ermitteln?? PHP Tipps 2004 1 14.10.2004 09:23
[Erledigt] Tabellenname eines Feldes ermitteln PHP-Fortgeschrittene 3 22.09.2004 15:49
Referrer ermitteln? PHP Tipps 2004 8 13.09.2004 13:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
match against, where match against, php match, select match against, match against boolean, php match against, http://www.php.de/datenbanken/45889-einzeltreffer-von-match-against-ermitteln.html, match against in boolean mode, php against, anzahl treffer php, php anzahl treffer, match php, php zeigt die anzshl der gefundenen treffer an, mysql match against, adventure php framework volltextsuche, volltextsuche mit adventure php framework, mysql match against beispiele, mysql match against boolean, mysql where match (username) against, php select match

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.