Stück eines Datensatzes abschneiden

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

  • Stück eines Datensatzes abschneiden

    Hallo,

    ich habe eine Tabelle in einer Datenbank in der einiges an Daten steht. Ein Datensatz hat vereinfacht folgende Struktur:

    Bezeichnung Inhalt Variante

    Ein Beispiel:

    Flasche1 10% 0,7l

    Bisher erzeuge ich eine Liste aller Datensätze und verlinke sie mit einer Detailansicht.

    Ein Beispiel:

    Flasche1 10% 0,3l
    Flasche1 10% 0,5l
    Flasche1 10% 0,7l
    Flasche2 20% 0,3l
    Flasche2 20% 0,5l
    Flasche3 20% 0,7l

    Ich würde aber gerne eine Änderung vornehmen. Und zwar so, dass die Liste nun nur noch folgendes anzeigt:

    Flasche1 10%
    Flasche2 20%

    Somit meine Frage:

    Wie kann ich den letzten Ausdruck abschneiden und doppelte Einträge ignorieren?

    Ich müsste also alle ausgelesenen Datensätze durchsuchen, ob sie ein x,xl enthalten. Falls ja abschneiden. Dann doppelte rausschmeißen.

    Ich weiß es klingt etwas kompliziert. Reduziert sich aber hoffentlich auf eine einfache Lösung, auf welche ich einfach nicht komme.

    Auch für Ansätze wäre ich sehr dankbar.

    Beste Grüße,
    Tex

  • #2
    Also die doppelten bekommst du schon mal mit einem GROUP BY weg

    was du sonst noch erreichen wolltest verstehe ich jetzt nicht so ganz

    Kommentar


    • #3
      Danke schonmal.

      Ich möchte dass anstatt

      Flasche1 10% 0,3l
      Flasche1 10% 0,5l
      Flasche1 10% 0,7l

      lediglich

      Flasche1 10%

      ausgegeben wird. Also erst einmal das 0,3l und 0,5l und 0,7l abschneiden (wenn vorhanden) und dann das GROUP BY.

      Kommentar


      • #4
        dann musst du doch einfach eine Spalte weniger auslesen.
        Oder steht in einer Spalte etwa der ganze Datensatz? Flasche1 10% 0,3l

        Kommentar


        • #5
          Original geschrieben von Mr_Blonde
          Oder steht in einer Spalte etwa der ganze Datensatz? Flasche1 10% 0,3l
          Ja. So ist es.

          Kommentar


          • #6
            [PHP]
            $string = Flasche1 10% 0,3l

            preg_match("/(.*%)/",$string,$treffer);


            mit $treffer[1] bekommst du dann
            Flasche1 10%

            Kommentar


            • #7
              Original geschrieben von Mr_Blonde
              [PHP]
              $string = Flasche1 10% 0,3l

              preg_match("/(.*%)/",$string,$treffer);


              mit $treffer[1] bekommst du dann
              Flasche1 10%
              und das in einer SQL-Abfrage?

              @Tex, schau dir die Strings Funktionen mal an, in Kombination mit DISTINC wird du das haben was du willst

              Kommentar


              • #8
                Danke euch erst einmal. Werde es mal genauer nachsehen und testen.

                Kommentar


                • #9
                  Nagut direkt in dem Mysql Befehl geht es dann wirklich nicht

                  Aber ich dachte er wollte die Tabelle dann updaten.

                  Kommentar


                  • #10
                    Also DISTINCT beachtet doppelte Einträge nicht. Soweit habe ich verstanden

                    Aber wie kann ich nach einem bestimmten Zeichen suchen (hier: l) und dann dieses inklusive der vorangestellten bis zum Leerzeichen (hier z.B.: 0,7l) abschneiden?

                    Kommentar

                    Lädt...
                    X