Daten Zusammenfassen

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

  • Daten Zusammenfassen

    Hallo,

    ich habe eine Produktdatenbank und sollte diese nach verschiedenen Kriterien durchsuchen um zu sehen welches Produkt passt, das Problem ist, dass die Produkte zum teil doppelt und dreifach in der Datenbank sind, jedoch mit einer anderen Größenangabe.
    Jetzt sollte ich die Artikel zusammenfassen ...

    Meine Datenbank sieht ungefähr so aus ...
    id|titel|laenge|windungen

    1|M3 Schrauben (100 stk)|40|330
    2|M3 Schrauben (1000 stk)|40|330
    3|M3 Schrauben (10000 stk)|40|330
    4|M4 Schrauben (100 stk)|40|330
    5|M4 Schrauben (1000 stk)|40|330
    6|M4 Schrauben (10000 stk)|40|330

    In PHP Bekomme ich die Klammer ohne Probleme ersetzt aber ich bekomme die Artikel nicht zusammengefasst ...

    PHP Code:
    $prod_name=str_replace(strrchr($row[titel],"("),"",$row[titel]); 
    Was ich eignetlich nur bräuchte währe die id und der titel der jeweiligen Schraube.
    Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

  • #2
    Nimm die Packungsgrösse nicht nur aus dem Titel, sondern überhaupt aus dieser Tabelle raus und mache eine eigene daraus (bzw. zwei). Dann hast du auch nur einen Eintarg pro Schraubenart (mit einer ID!), und dein Problem ist faktisch gelöst.
    Gruss
    H2O

    Comment


    • #3
      Hallo,

      würde ich ja gerne aber geht nicht, da das Warenwirtscharftsprogramm drauf zugreift, und die einträge seit eh und jeh so in der Datenbank stehen (weiß auch nicht was sich mein Vorgänger gedacht hat) ...
      Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

      Comment


      • #4
        Re: Daten Zusammenfassen

        Original geschrieben von theone

        Was ich eignetlich nur bräuchte währe die id und der titel der jeweiligen Schraube.
        Dann wirst du das nie hinkriegen, da du zu jedem Titel mehrere ID's hast. Also musst du dich für Titel oder ID entscheiden.
        Dafür ist der ganze Rest der Daten redundant.
        Gruss
        H2O

        Comment


        • #5
          Ich bräuchte nur die erste ID aus der Datenbank von dem Artikel ...

          es reicht wenn ich die abfrage mit ORDER BY id starte, weil die Artikel in der richtigen Reihenfolge gelistet sind.
          Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

          Comment


          • #6
            Versuch es mal mit
            Code:
            SELECT 
            	MIN(id),
            	SUBSTR(titel, 1, (INSTR(titel, '(') - 1)) kurztitel
            FROM
            	artikel
            GROUP BY
            	kurztitel
            ORDER BY
            	id
            Gruss
            H2O

            Comment


            • #7
              You have an error in your SQL syntax.
              Check the manual that corresponds to
              your MySQL server version for the right
              syntax to use near '(Produktname, 1,
              (INSTR(Produktname, '(') - 1)) kurztitel FROM

              PHP Code:
              $result=MYSQL_QUERY("SELECT MIN(id),
              SUBSTR(Produktname, 1, (INSTR(Produktname, 
              '(') - 1)) kurztitel FROM erp_artikel GROUP BY
              kurztitel ORDER BY id"
              ) or die(mysql_error()); 
              Last edited by theone; 06-08-2008, 09:32.
              Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

              Comment


              • #8
                Ich sehe im ersten Moment keinen Fehler, ausser dass ich es sehr ärgerlich finde, wenn ich versuche, anständig formatierte Abfragen zu posten und du machst dann daraus einen Bandwurm, der zum horizontal scrollen zwingt.

                Hast du die Abfrage mal im PMA getestet?
                Gruss
                H2O

                Comment


                • #9
                  Sorry ...

                  SELECT MIN( id ) , SUBSTR(
                  Produktname, 1, (
                  INSTR( Produktname, '(' ) -1
                  )
                  )kurztitel
                  FROM erp_artikel
                  GROUP BY kurztitel
                  ORDER BY id
                  LIMIT 0 , 30

                  #1064 - You have an error in your SQL syntax.
                  Check the manual that corresponds to your MySQL
                  server version for the right syntax to use near
                  '( Produktname , 1 , ( INSTR( Produktname , '(' ) - 1 ) ) kurzti
                  Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                  Comment


                  • #10
                    Original geschrieben von H2O
                    Hast du die Abfrage mal im PMA getestet?
                    EDIT:
                    Sorry, das kam ja aus dem PMA.
                    Versuche mal
                    Code:
                    SELECT
                    	SUBSTR(titel, 1, 8)
                    FROM
                    	erp_artikel

                    Last edited by H2O; 06-08-2008, 09:46.
                    Gruss
                    H2O

                    Comment


                    • #11
                      PMA? Wenn du PHP My Admin meinst ja ...
                      Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                      Comment


                      • #12
                        Habe grade noch was gesehen:
                        SUBSTR() is a synonym for SUBSTRING(). It was added in MySQL 4.1.1.
                        Falls du also mit einer Uraltversion von MySQL arbeiten solltest, musst du SUBSTRING() benutzen
                        Gruss
                        H2O

                        Comment


                        • #13
                          aha! merci jetzt geht es!
                          Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                          Comment

                          Working...
                          X