Suche alle Datenbankeinträge beginnend mit: Sonderzeichen/Zahl

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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
      Last edited by davidovich; 04-05-2005, 20:49.

      Forumregeln!

      Gute PHP-(tutorial-)Seiten

      Comment


      • #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 |


        Comment


        • #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:]]|_|-|<|>|!)' 
          Last edited by Jaws; 05-05-2005, 12:55.

          Comment

          Working...
          X