phpbar.de logo

Mailinglisten-Archive

Count Matches in Suchabfrage

Count Matches in Suchabfrage

Jörg Schwalenberg mysql_(at)_lists.phpcenter.de
Tue, 14 Aug 2001 22:25:08 +0200


Ein Lösungsansatz, allerdings mit dem nächsten Problem !

> >> Geht es vielleicht hiermit ?
> >> -----
> >> query = "select count(id) as anzRow from tabelle where blabla='blubb'";
> >> $result = _(at)_mysql_query($query);
> >> $rows = _(at)_mysql_result($result,0,"anzRow");
> >> -----
> > Halo Michael,
> >
> > damit erhalte ich die Anzahl an übereinstimmenden Rows der Column.
> > Was mich interessiert, wäre die Anzahl an Matches im jeweiligen DS.
> > Wenn ich z.B: nach "text" suche und in dem DS dieses Wort vier mal
vorkommt,
> > so möchte ich diesen Wert "4" erhalten um ihn danach über Order by zu
> > sortieren.
>
> So wie du es haben willst gehts sicherlich nicht, zumindest nicht
automatisch.
>
> Es gibt zwei Fälle: Entweder hast du mehrere Spalten, in denen "text"
drinstehen
> kann, oder ein Feld, in denen es mehrmals vorkommen kann (dann suchst du
aber
> mit like nach "%text%"). Erster Fall: Kannst du vergessen, du musst
nämlich
> immer explizit hinschreiben, in welcher Spalte gesucht werden soll. Wenn
du
> jetzt dein Statement entsprechend formulierst, alle Kombinationen bei
denen
> "text" n mal vorkommt entsprechend oder verknüpfst, dann hast du das ganze
fü
> r ein n. Alles für alle n gemacht, und du hast was du willst.
>
> Zweiter Fall: Suche nach "%text%": hier steht % als wildcard für beliebige
> Zeichen, MySQL sieht also nach, _ob_ "text" irgendwo in dem Suchfeld
steht,
> aber nicht wie oft. Hier ist gar keine Lösung möglich, aber: ich verweise
mal
> auf den Fulltext-Index, und alles was damit zusammenhängt, und evtl.
kannst du
> dein Problem auch mit ner Stichwort-Tabelle in den Griff bekommen
>
Hallo Michael,

ich habe für das eine Problem eine relativ gute Lösung gefunden.
Ich lasse die DB nach Keywords durchsuchen. Mir einem Replace und einer
Schleife der Keywords hänge ich an jeden Match ein zusätzliches Zeichen an.
Danach subtrahiere ich die original Column und erhalte die Anzahl der
Matches. Das funzt einwandfrei.
jetzt habe ich allerdings das Problem, dass mir die Anzahl der Matches nicht
viel nutzen um die Tabelle danach zu sortieren. Ich könnte mit FSO ein Dummy
Recset anlegen und die Matches als Var einbinden und die Tabelle danach
sortieren. Allerdings verliere ich dabei die volle Kontrolle über die
Datenabnk und die x DS die auf den nächsten Seiten noch kommen.

Wenn ich jetzt eine Möglichkeit finden würde um das Recset über ein externes
String Value, in diesem Fall meine Anzahl an Matches zu sortieren, dann
hätte ich den Hauptgewinn.

Hast Du eine Idee ?

MfG
Jörg Schwalenberg
_______________________________
Extensions and Basics for Macromedia
"Dreamweaver Ultradev"
..............................................................
www.ultradevextensions.de
www.udex.de
info_(at)_udex.de
_______________________________


---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive