MyBB.de Forum

Normale Version: Doppelt Buchstaben abfragen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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")."\";");    
}
Ich sehe bei dem Code keinen Fehler. Bist du sicher, dass der 2. Buchstabe groß geschrieben ist?
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?
Bei Umlauten ist wichtig, dass die Kodierung der Datei korrekt ist, damit der Umlaut korrekt abgefragt wird.
(29.05.2014, 15:32)Yasilein schrieb: [ -> ]Kann die Abfrage nicht zwischen MAE UND MAI unterscheiden?
Doch, die Abfragen können auch noch viel mehr. Wink
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?
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.
EDIT: Hat sich so eben erledigt. Da hatte sich ein Zeichen eingeschlichen, das vom Experimentieren übrig war.