Datenbankfeld (ARRAY) nach Wert durchsuchen und Datensatz ausgeben

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

  • Datenbankfeld (ARRAY) nach Wert durchsuchen und Datensatz ausgeben

    Guten Tag liebe Leute

    Ich habe in einer DB-TABELLE eine Spalte mit mehreren Werten (Array).
    Nun möchte ich je nach Auswahl, diejenigen oder diejenigen Datensätze auslesen (SELECT) die diesen WERT innerhalb des DB-FELDES gespeichert haben.

    DB- FELD als VARCHAR (255) deklariert.
    Suche nach einem WERT (STRING) -> da der Wert aus auf dem HTML-Form (Usereingabe) auch als String zurückgegeben wird.
    Die Werte sind im DB-Feld mit Komma voneinander getrennt und mit Hochkomma als String hinterlegt.
    Beispiel:
    1. DB-Feldinhalt für Kunde1 = ('1','2','4')
    2. DB-Feldinhalt für Kunde2 = ('2','3')

    Wenn ich nun nach '1' selektiere, soll nur der erste Datensatz (Kunde1) angezeigt werden. Bei '2' aber beide Datensätze (Kunde1 und Kunde2).
    Bei '3 dann nur noch Kunde 2' ... usw.

    PHP-Code:
    $produkte = (array('1','2','3','4'));
    $filter $_POST['sel_product'];
    $stmt "SELECT * FROM tab1 WHERE FIND_IN_SET ('$filter', '$produkte ')" // SELECT * FROM nur der einfachheitshalber hier so angegeben! 
    Wie erstelle ich bei der Abfrage das WHERE richtig, damit dies so aus gelesen wird.
    Wie ihr seht, habe ich es mit FIND_IN-SET versucht (Google und Foren sei dank). Leider ohne Erfolg.

    Grundsätzlich stellt sich mir die Frage ob ich die Systematik richtig anwende und 2. ob die Deklarationen (DB-FELD / Variablen) richtig sind.

    Hat jemand einen Tipp für mich?

  • #2
    PHP-Code:
    SELECT FROM tab1 WHERE DBFELD like '%\'1\'%' 
    Das sollte dein Problem lösen

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Gelöst: Datenbankfeld (ARRAY) nach Wert durchsuchen und Datensatz ausgeben

      Hi Berni

      Supi, vielen dank. Klappt hervorragend.

      Kannte ich so noch nicht. Wieder was dazu gelernt.

      Kommentar

      Lädt...
      X