Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: explode bei mysql?

  1. #1
    Großmeister(in)
    Registriert seit
    06.06.2005
    Beiträge
    545
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard explode bei mysql?

    Grüß euch,

    eine meiner Tabellen sieht in etwa so aus:

    Name| Eintrag
    Chris | 1;4;7;9
    Tom | 3;11
    Mike | 2;4;21

    ich würde jetzt gerne gleich im mysql - Statement definieren, dass ich nur alle Namen möchte, die beim Eintrag den Wert 4 haben. ich könnte natürlich alle Namen (sind natürlich wesentlich mehr als 3) auslesen, bei jedem per explode das Feld Eintrag "zerlegen", prüfen ob der Wert 4 vorhanden ist, und wenn ja in z.B. in ein Array schmeißen. Aber gibts da nicht ne einfacherer Methode?

    Vielen Dank für alle eventuellen Lösungsvorschläge.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Samurai Avatar von #matthias
    Registriert seit
    24.02.2009
    Ort
    Sömmerda
    Beiträge
    200
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Hallo,

    wie sind den die Namen der Spalten in der Tabelle?

    Du kannst dir alle Namen mit eine Wert von 4 ausgeben lassen z.b. so:

    SELECT "Name der Spalte mit den Namen" FROM "Tabllenname" WHERE "Name der Spalte mit den Werten" LIKE 4.

  3. #3
    Großmeister(in)
    Themenstarter

    Registriert seit
    06.06.2005
    Beiträge
    545
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Leider, LIKE greift da nicht - hab ich schon versucht!

  4. #4
    Forum Guru Avatar von driver
    Registriert seit
    10.04.2006
    Alter
    34
    Beiträge
    20.729
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    [...] like '%4%'

    des auch nicht ? wie isn des feld definiert ? varchar oder int ?
    >> die icq-schreiberlinge bitte dies hier beachten



    1679 entdeckte Gottfried Wilhelm Leibniz das Binärsystem, bei einem Gespräch mit seiner Mutter: "Ja..., Nein..., Nein..., Nein..., Ja..., Ja..., Nein..."

  5. #5
    Großmeister(in)
    Themenstarter

    Registriert seit
    06.06.2005
    Beiträge
    545
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Nein, kann ich nicht verwenden da mir ja dann nicht nur alle Werte mit 4 ausgegeben werden sondern auch die mit z.B. 44, 14, 24 etc....

  6. #6
    Großmeister(in)
    Themenstarter

    Registriert seit
    06.06.2005
    Beiträge
    545
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    achja, ist als VARCHAR definiert - denkst du dass ich ein korrektes Ergebnis bekommen wenn ichs auf INT umstelle? Aber dann lässt er doch meine ; nicht mehr zu, oder?

  7. #7
    Meister(in)
    Registriert seit
    27.03.2009
    Ort
    Berlin
    Beiträge
    278
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Da die 4 von jeweils einem Semikolon rechts und links begrenzt wird wäre das doch an stelle von '%' ein passender selektor oder?

  8. #8
    Großmeister(in)
    Themenstarter

    Registriert seit
    06.06.2005
    Beiträge
    545
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Du meinst so:

    PHP-Code:
    SELECT "Name" FROM "Tabelle" WHERE "eintrag" LIKE ';4;' 
    das geht schon mal gar nicht!

  9. #9
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Alles deutet auf eine fehlerhafte Struktur hin. Verwende lieber vernünftige Foreign-Keys. Die kann MySQL im Gegensatz zu diesen VARCHARs auch optimieren.
    Ansonsten geht es so:
    Code:
    SELECT `name` FROM `tabelle` WHERE `eintrag` LIKE '%;4;%' OR '4;' OR `eintrag` LIKE `%;4'
    Zum Thema Explode: In MySQL kannst du Funktionen definieren, davon solltest du aber hier noch viel eher Abstand nehmen.

    Viele liebe Grüße
    The User

  10. #10
    Meister(in) Avatar von Afrael
    Registriert seit
    26.04.2009
    Ort
    NRW
    Alter
    26
    Beiträge
    313
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: explode bei mysql?

    Müsste doch
    Code:
    SELECT `name` FROM `tabelle` WHERE `eintrag` LIKE '%;4;%' OR `eintrag` LIKE '4;' OR `eintrag` LIKE `%;4'
    heißen, oder? Da fehlte ein "eintrag LIKE".
    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

Ähnliche Themen

  1. Suche Lösung für explode() Problem
    Von RedFighter im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 12.10.2008, 03:14
  2. explode() gibt -> Array aus
    Von DaGarfield im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 20.07.2008, 15:05
  3. Ausgabe eines explode-Strings
    Von Dark_Dog im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 22.06.2007, 15:04
  4. per PHP neue MySQL-Datenbank und MySQL-Benutzer anlegen
    Von sudeki05 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 15.04.2007, 19:40
  5. PHP & MYSQL
    Von Trey im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 03.04.2007, 20:11

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •