Suche alle Datenbankeinträge beginnend mit: Sonderzeichen/Zahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche alle Datenbankeinträge beginnend mit: Sonderzeichen/Zahl

    Hi, ich hab ein Script für eine CD-Verwaltung geschrieben, und hab in der Ausgabe eine Tabelle mit allen Buchstaben drin, so dass ich jeweils nach den Anfangsbuchstaben sortieren kann...
    das klappt mit folgendem SQL-Code eigentlich auch ganz gut...
    PHP-Code:
    WHERE name LIKE '$buchstabe%' 
    Allerdings hab ich jetzt auch CD's deren Namen mit einer Ziffer oder einem Sonderzeichen beginnen...
    All diese CD's hab ich neben
    A B C D E F G .... mit SONDER zusammengefasst, und will also mit einem klick auf "SONDER" alle CD's ausgeben, deren Namen mit einer Ziffer oder einem Sonderzeichen beginnt...

    Wie muss ich dann den oben stehenden Code ändern??
    Also den LIKE-Befehl....

  • #2
    du könntest z.B. nen regexp verwenden..

    P.S.: Ist SQL und kein PHP...
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Versuch mal folgendes:

      Code:
      WHERE name REGEXP '^[[:digit:]]'
      Für die Sonderzeichen müsste man viell: (ungetstet *g):
      Code:
      WHERE name REGEXP '^([[:digit:]]|_|-|<|>|...........)'

      Nähere Informationen unter:

      http://dev.mysql.com/doc/mysql/de/regexp.html
      Zuletzt geändert von davidovich; 04.05.2005, 21:49.

      Forumregeln!

      Gute PHP-(tutorial-)Seiten

      Kommentar


      • #4
        Original geschrieben von Shurakai
        P.S.: Ist SQL und kein PHP...
        *move*
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          @davidovich:
          danke für den tipp!!
          mit
          PHP-Code:
          WHERE name REGEXP '^[[:digit:]]' 
          funktioniert die Ausgabe für mit Zahlen beginnende Datensätze einwandfrei...
          Nur die Variante mit den Sonderzeichen funktioniert leider nicht...
          => Got error 'empty (sub)expression' from regexp


          Edit:
          Sodele, hab das mit den Sonderzeichen nun auch hingekriegt...
          man darf am Schluss nur keinen | stehen haben, sondern vor der schließenden Klammer ) muss direkt das letzte Sonderzeichen stehen.

          z.B. so:
          PHP-Code:
          WHERE name REGEXP '^([[:digit:]]|_|-|<|>|!)' 
          Zuletzt geändert von Jaws; 05.05.2005, 13:55.

          Kommentar

          Lädt...
          X