MyBB.de Forum
Doppelt Buchstaben abfragen? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Doppelt Buchstaben abfragen? (/thread-29802.html)



Doppelt Buchstaben abfragen? - Yasilein - 29.05.2014

Hallo,

ich schreibe gerade eine Geburtstagsliste, eine automatische. Je nachdem, welchen Monat der User dann in dem entsprechenden eigenen Profilfeld einträgt, soll das ganze ausgegeben werden. Versucht habe ich das, wie im Code unten zu sehen, JA, FE, MÄ stehen eben für Januar, Februar, März, damit das ganze geordnet ist. Das Problem ist: bei einem Buchstaben/einer Zahl klappt das (nur J), bei zweien (FE) nicht. Was muss ich denn machen, damit er auch den doppelten/dreifachen nimmt?

Code:
$result = $db->query("SELECT u.uid, u.username, uf.fid25
                      FROM ".TABLE_PREFIX."users u
                      LEFT JOIN ".TABLE_PREFIX."userfields uf
                      ON u.uid = uf.ufid
                      WHERE (uf.fid25
                      LIKE 'JA%' OR uf.fid25
                      LIKE 'FE%' OR uf.fid25
                      LIKE 'MÄ%')
                      ORDER BY uf.fid25 ASC");
while($row = $db->fetch_array($result)) {
      $userid = $row['uid'];
      $username = "$row[username]";
      $geb = $row['fid25'];
eval("\$geb_JAFEMÄ .= \"".$templates->get("gebuser")."\";");    
}



RE: Doppelt Buchstaben abfragen? - StefanT - 29.05.2014

Ich sehe bei dem Code keinen Fehler. Bist du sicher, dass der 2. Buchstabe groß geschrieben ist?


RE: Doppelt Buchstaben abfragen? - Yasilein - 29.05.2014

Die Buchstaben in dem Code sind alle großgeschrieben, ja, und mit der anderen Version/Codeversion für das Ä habe ich es auch schon probiert. Die Frage wäre natürlich, ob das in dem Profilfeld auch mit dem zweiten Buchstaben groß eingegeben werden muss?

So, final EDIT: Des Pudels Kern ist doch der Umlaut. Den habe ich nun herausgelassen und MAER für März und MAI für Mai genommen - angezeigt wird es dennoch nicht. Kann die Abfrage nicht zwischen MAE UND MAI unterscheiden?


RE: Doppelt Buchstaben abfragen? - StefanT - 30.05.2014

Bei Umlauten ist wichtig, dass die Kodierung der Datei korrekt ist, damit der Umlaut korrekt abgefragt wird.
(29.05.2014, 16:32)Yasilein schrieb: Kann die Abfrage nicht zwischen MAE UND MAI unterscheiden?
Doch, die Abfragen können auch noch viel mehr. Wink


RE: Doppelt Buchstaben abfragen? - Yasilein - 07.06.2014

Welche Codierung wäre das denn? Ich habe das einmal als ANSI und einmal als UTF-8 probiert, geht beides nicht. Müsste in die php-Datei an sich dazu noch etwas stehen?


RE: Doppelt Buchstaben abfragen? - Jockl - 07.06.2014

Um es unabhängig von Groß- und Kleinschreibung zu haben, könntest Du vermutlich die Abfrage von mit LOWER() ergänzen. Vielleicht bringt das etwas.
Bzgl. Sortierung, wenn diese nicht stimmt, könnte ggf. auch COLLATE zur Anwendung kommen.


RE: Doppelt Buchstaben abfragen? - Yasilein - 07.06.2014

EDIT: Hat sich so eben erledigt. Da hatte sich ein Zeichen eingeschlichen, das vom Experimentieren übrig war.