Suche in SQL und html-Maskierungen

Moin Moin,

folgendes Problem:

in einer MySQL Tabelle sind Namen, mehrere in einer Spalte, in diesen Namen sind die Umlaute maskiert (ü)

Jetzt soll gezählt werden welcher Name wie oft vor kommt:

<?php $suchealt = "M¨ller/D¨bel";
$suchstring\_spilt = split('[/.-]', $suchealt); foreach ($suchstring\_spilt as $mitarbeiter) { $volltext = \<\< SELECT \* FROM termine WHERE MATCH (titel) AGAINST ('"$mitarbeiter"') EOD; $suchergebnis = mysql\_query($volltext) OR die(mysql\_error()); echo $mitarbeiter." : ".mysql\_num\_rows($suchergebnis)." "; } ?\> Herr Müller und Herr Dübel kommen jetzt jeweils einmal in der Tabelle vor. Angezeigt wird jedoch bei beiden 2 mal??? Wie kann ich verhindern, dass die Maskierung gesucht wird? Wenn ich im Suchstring als auch in der Tabelle die Maskierung gegen die Umlaute austausche läuft alles. Vielen Dank und Grüße aus dem Norden tifi PS: Bitte keine Fragen warum der Suchstring nicht eine Tabelle mit Namen ist.

mal ne Gegenfrage…

warum so kompliziert?
warum nicht ein
SELECT name, count(name) as zaehler FROM tabelle WHERE bedingung GROUP by name

sollte doch eigentlich genau das machen was du brauchst oder…?

Und warum erlaubst Du die Frage nach der doofen Struktur nicht? :wink:
btw: Was ist, wenn einer Müller-Lüdenscheidt heisst? :wink:

Danke schon mal für die Hilfe.

Die doofe Struktur ist nicht auf meinem Mist gewachsen. Ein Freud will das ohne SQL-Tabelle für den Personalstamm lösen?! Warum versteh ich auch nicht.

Ich wollte eigentlich aus sportlichem Ehrgeiz und für mein eigenes Verständnis versuchen das zu lösen. (Man lernt ja auch von doofen Scripts :wink:

Mit dem SQL-Statement hab ich noch Probleme.
Wie sende ich das an die DB?
mysql_num_rows() geht nicht und nur den query ausgeben ebenfalls nicht…

Wie gesagt -> Vielen Dank für die Mühe

Gruß tifi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Also die Anfrage mit count() habe ich hin bekommen.

Das Problem mit den Umlauten besteht immer noch, da:

in einer Zelle zwei Namen stehen kann ich nicht mit
WEHRE ‚Zelleninhalt‘ = ‚name‘ suchen.

Mit MATCH AGAINST zählt er jedoch alle maskierten Umlaute in der Spalte.

d.h. wenn ich nach Möller suche und der ein Mal drin steht bekomme ich als Ergebnis 2, wenn auch ‚Schröder‘ in der Tabelle steht (2 „Ö’s“).

Dies tritt nur auf wenn die Umlaute maskiert (html) sind.
Nehme ich die Umlaute „normal“ zählt er richtig!

???

Gruß tifi