Ankündigung

Einklappen
Keine Ankündigung bisher.

Zahl innerhalb einer Zeichenkette erkennen

Einklappen

Neue Werbung 2019

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

  • Zahl innerhalb einer Zeichenkette erkennen

    Hallo,

    ich habe eine Zeichnkette die so aussieht,

    2,6,23,56,34,6,8,9,11,24,5,21

    Ich möchte nun wissen ob in dieser Zeichenkette zw. Kommatas oder Anfang oder am Ende eine bestimmte Zahl vorkommt, z.B. die 2.

    ... tags LIKE '%".$zahl."%' "

    Mit LIKE kann man das nicht ganz sauber abfragen, gibts hier eine Lösungsmöglichkeit?

    Danke
    Ich lerne PHP und es macht mir Spass!


  • #2
    Find_in_set()


    Edit: Warum maßt sich die Forensoftware eigentlich an, die durchgehende Großschreibung, in der ich diesen Funktionsnamen getippt hatte, „korrigieren“ zu müssen?

    Kommentar


    • #3
      Du hast definitiv ein falsches Datenbank Design! Mach dich unbedingt mal über Normalisierung schlau.

      Man sollte NIE mehrere Werte in einer Spalte speichern! Das verstößt gegen das Prinzip einer relationalen Datenbank. Erstell dir eine neue Tabelle in der für jeden Wert ein eigener Eintrag existiert und dazu immer eine Spalte zu welchem Element der Eintrag gehört.

      Kommentar


      • #4
        Zitat von phpbeginner Beitrag anzeigen
        2,6,23,56,34,6,8,9,11,24,5,21

        Ich möchte nun wissen ob in dieser Zeichenkette zw. Kommatas oder Anfang oder am Ende eine bestimmte Zahl vorkommt, z.B. die 2.

        ... tags LIKE '%".$zahl."%' "
        Wenn der String immer so aussieht, gibt es ja drei mögliche Positionen eines Kommas.
        - rechts von der Zahl
        - links und rechts von der Zahl
        - links von der Zahl

        Also in etwa so, wenn ich mich nicht vertippt habe

        Code:
        SELECT * FROM tabelle
         WHERE tags LIKE '".$zahl.",%' "
               OR tags LIKE '%,".$zahl.",%' "
               OR tags LIKE '%,".$zahl."' "
        Andererseits, warum ist Dein Ansatz "..nicht ganz sauber.."??

        ... tags LIKE '%".$zahl."%' "

        Mit LIKE kann man das nicht ganz sauber abfragen, gibts hier eine Lösungsmöglichkeit?
        Also ich kann FIND_IN_SET() direkt so in Grossbuchstaben reinschreiben.

        Grüße
        Thomas

        Kommentar

        Lädt...
        X