Hilfe für eine Erweiterung.

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

  • Hilfe für eine Erweiterung.

    HI

    Mir viel leider kein besserer Namen ein für den Titel sorry dafür.
    Ich stekce seit ca einer Woche mit einem Problem fest, und komme einfach nicht mehr weiter. Kann mir jemand helfen dies zu erweitern?
    Wäre super dankbar wenn mir jemand helfen würde.
    Als erstes habe ich diese Tabellen:


    Code:
    CREATE TABLE `products` (
      `product_id` int(11) unsigned NOT NULL auto_increment,
      `product_name` varchar(250) NOT NULL default '0',
      `product_desc` text NOT NULL,
      `cat_id` int(11) unsigned NOT NULL default '0',
      `scat_id` int(11) unsigned NOT NULL default '0',
      `product_date` int(11) unsigned NOT NULL default '0',
      `prodnr` varchar(50) NOT NULL default '0',
      `product_preis_eu` varchar(10) NOT NULL default '0',
      PRIMARY KEY  (`product_id`)
    ) TYPE=MyISAM;
    
    INSERT INTO `products` (`product_id`, `product_name`, `product_desc`, `cat_id`, `scat_id`, `product_date`, `prodnr`, `product_thub`, `product_pic`, `product_preis_eu`) VALUES
    (1, 'Produkt1', 'Beschreibung\r\nBeschreibung\r\nBeschreibung\r\nBeschreibung', 6, 2, 1075825731, '000001', '45,50');
    INSERT INTO `products` (`product_id`, `product_name`, `product_desc`, `cat_id`, `scat_id`, `product_date`, `prodnr`, `product_thub`, `product_pic`, `product_preis_eu`)
    VALUES (2, 'Produkt2', 'Beschreibung', 6, 2, 1075837981, '000002', '13,25');
    
    CREATE TABLE `products_attributes` (
      `attribut_id` int(11) unsigned NOT NULL auto_increment,
      `attribut_cat_id` int(11) NOT NULL default '0',
      `attribut_name` varchar(250) NOT NULL default '0',
      `attribut_cat_prefix` char(1) NOT NULL default '0',
      `attribut_preis` varchar(10) NOT NULL default '0',
      PRIMARY KEY  (`attribut_id`)
    ) TYPE=MyISAM;
    
    INSERT INTO `products_attributes` (`attribut_id`, `attribut_cat_id`, `attribut_name`, `attribut_cat_prefix`, `attribut_preis`) VALUES (1, 1, 'Grün', '+', '0');
    INSERT INTO `products_attributes` (`attribut_id`, `attribut_cat_id`, `attribut_name`, `attribut_cat_prefix`, `attribut_preis`) VALUES (2, 1, 'Gelb', '+', '0');
    INSERT INTO `products_attributes` (`attribut_id`, `attribut_cat_id`, `attribut_name`, `attribut_cat_prefix`, `attribut_preis`) VALUES (3, 1, 'Rot', '+', '0');
    INSERT INTO `products_attributes` (`attribut_id`, `attribut_cat_id`, `attribut_name`, `attribut_cat_prefix`, `attribut_preis`) VALUES (4, 2, 'L', '+', '0');
    INSERT INTO `products_attributes` (`attribut_id`, `attribut_cat_id`, `attribut_name`, `attribut_cat_prefix`, `attribut_preis`) VALUES (5, 2, 'XL', '+', '5,00');
    INSERT INTO `products_attributes` (`attribut_id`, `attribut_cat_id`, `attribut_name`, `attribut_cat_prefix`, `attribut_preis`) VALUES (6, 2, 'XXL', '+', '10,00');
    
    CREATE TABLE `products_attributes_cat` (
      `attribut_cat_id` int(11) unsigned NOT NULL auto_increment,
      `product_id` int(11) NOT NULL default '0',
      `attribut_cat_name` varchar(250) NOT NULL default '0',
      PRIMARY KEY  (`attribut_cat_id`)
    ) TYPE=MyISAM;
    
    INSERT INTO `products_attributes_cat` (`attribut_cat_id`, `product_id`, `attribut_cat_name`) VALUES (1, 1, 'Farbe');
    INSERT INTO `products_attributes_cat` (`attribut_cat_id`, `product_id`, `attribut_cat_name`) VALUES (2, 1, 'Grösse');
    
    CREATE TABLE `warenkorb` (
      `wkid` int(11) unsigned NOT NULL auto_increment,
      `userid` int(11) unsigned NOT NULL default '0',
      `prodid` int(11) NOT NULL default '0',
      `prodmenge` int(11) NOT NULL default '0',
      `prodstp` varchar(10) NOT NULL default '0',
      PRIMARY KEY  (`wkid`)
    ) TYPE=MyISAM;
    
    INSERT INTO `warenkorb` (`wkid`, `userid`, `prodid`, `prodmenge`, `prodstp`) VALUES (13, 1, 1, 1, '45,50');
    INSERT INTO `warenkorb` (`wkid`, `userid`, `prodid`, `prodmenge`, `prodstp`) VALUES (12, 1, 1, 1, '45,50');

    products: Hier stehen die Produkte drin.
    products_attributes: Hier stehen die Atribute zu den Kategorien drin.
    products_attributes_cat: Hier stehen die Attributkategorien drin.
    warenkorb: Hier werden die Produkte eingetragen.

    Ich hatte nun das so, dass mir die Produkte in den Warenkorb gespeichert wurden. Nun wollte ich es mit Attributen erweitern. Soweit sogut. Jedoch:
    Ich mache nun mit einer WHILE schleife options felder wie folgt:

    PHP-Code:
    $proddet_attribut=mysql_query("SELECT * FROM products_attributes_cat WHERE product_id='$_GET[prid]'");
    while(
    $row_attributes $db->fetch_array($proddet_attribut)) {

    $proddet_attributbit=mysql_query("SELECT * FROM products_attributes WHERE attribut_cat_id='$row_attributes[attribut_cat_id]'");
    $seln="auswahl_".$row_attributes['attribut_cat_id'];
    $options.="<select size=\"1\" name=\"$seln\">";
    while(
    $row_attributesbit mysql_fetch_array($proddet_attributbit)) {
    $options.="<option value=\"$row_attributesbit[attribut_id]\">$row_attributesbit[attribut_name]</option>";
    }


    In der Form hat es ein hidden Feld für send und sende das ganze per POST.

    PHP-Code:
    if(isset($_POST['send'])) { 
    So und nun zum Grossen Problem.

    Ich hätte gerne eine weitere Tabelle warenkorb_attribute als beispiel, wo zum dazugehörigen Produkt die Attribute gespeichert werden.
    Zusätzlich das Problem ist:
    Wenn ein Produkt bereits eingetragen ist, wo alle Attribute übereinstimmen. Also z.B. Produkt1 Farbe Rot Grösse XL, soll er es nur updaten und die Produkte Menge um 1 erhöhen ansonsten ein neuen eintrag.
    Ich habe nun eine Woche sehr viel ausprobiert nichts hat wirklich geklappt. Deshalb habe ich die Tabelle warenkrob_attribut wieder gelöscht, und hoffe mir kann jemand nun hier beim Aufbau weiterhelfen und mir vieleicht ein Codeschnippsel dazu machen. Wäre euch super dankbar.
    Danke für jeden hilfreichen Tipp.

    Gruss

    kari_w
    Zuletzt geändert von Wotan; 24.02.2004, 23:32.

  • #2
    Hi

    Kann mir denn keiner weiterhelfen? Ich verzweifle hier fast nach über einer Woche

    Gruss

    kari_w

    Kommentar


    • #3
      hmm,

      erstell dir doch einfach deine tabelle ... wo ist das problem?

      Wenn ein Produkt bereits eingetragen ist, wo alle Attribute übereinstimmen. Also z.B. Produkt1 Farbe Rot Grösse XL, soll er es nur updaten und die Produkte Menge um 1 erhöhen ansonsten ein neuen eintrag.
      was?

      kannst du nochmal benötigte spalten und sinn der tabelle erklären?
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Original geschrieben von derHund
        hmm,

        erstell dir doch einfach deine tabelle ... wo ist das problem?
        Das Problem liegt am ganzen code mit dem was ich nun unten nochmals erkläre.

        Original geschrieben von derHund
        Wenn ein Produkt bereits eingetragen ist, wo alle Attribute übereinstimmen. Also z.B. Produkt1 Farbe Rot Grösse XL, soll er es nur updaten und die Produkte Menge um 1 erhöhen ansonsten ein neuen eintrag.
        was?
        Wie ich es eigentlisch schon geschrieben habe ich weiss nicht was daran unklar sein soll.
        Es soll eine Tabelle noch gemacht werden warenkorb_attribut, wo die diversen Attribute drin stehen nach dem absenden wie oben schon beschrieben.
        Da liegt das erste kleinre Problem drin. Das Grosse liegt darin, er soll überprüfen bei jedem mal senden, ob es schon ein produtk in Warenkrob gibt mit EXACKT den Attributen in warenkorb_Attribut die gewählt wurden beim senden. wenn es dies schon gibt soll er nur die Menge des Produktes Updaten ansonsten ein neuen Insert machen.

        kannst du nochmal benötigte spalten und sinn der tabelle erklären?
        Schau dir nochmals meine Beschreibung oben an. Dachte so wärs eigentlich klar. Ansonsten sag bitte an welcher tabelle dir was nicht klar ist, da wir vieleicht so weiterkommen.
        products: Hier stehen die Produkte drin.
        products_attributes: Hier stehen die Atribute zu den Kategorien drin.
        products_attributes_cat: Hier stehen die Attributkategorien drin.
        warenkorb: Hier werden die Produkte eingetragen.

        Ich bekomme einfach das mit den Atributen nciht hin das er alle Speichert, und auch die überprüfung macht.

        PS. danke das du versuchst mir zu helfen!!!

        Gruss

        kari_w

        Kommentar


        • #5
          vor dem Einfügen, die Warenkorbtabelle mit Berücksichtigung der
          eingegebenen Eigenschaften in WHERE auslesen, das Ergebnis prüfen:
          - wenn NULL, dann INSERT durchführen
          - wenn nicht NULL, dann Menge auslesen, Bestellmenge hinzuaddieren, UPDATE durchführen

          wo ist denn das Problem.

          Kommentar


          • #6
            Hallo.

            es ist ein riesen Problem. Es geht nichts wie oben schon geschrieben.

            1. Problem. Ich kann warenkorb und warenkorb_attribut nicht in einer while schlaufe einfügen lassen, da in die warenkrob nur ein eintrg kommt und in warenkorb_attribute sollen die attribute also kann es duzende einträge geben.

            2. Die überprüfung zu Problem von Punkt 1 geht einfach nichts. Darum habe ich hier nun nach baldigen zwei Wochen ja auch um hilfe gebeten.

            Ich komme einfach gesammthaft nicht weiter wie das alles funktionieren soll nach dem senden das er dies richtig einfügt. Daher habe ich ja hier gefragt und hoffe jemand kan weiterhelfen.

            Gruss

            kari_w

            Kommentar


            • #7
              Hi

              Hat noch jemand ne Idee? Ich habe nun auch mal noch probiert ne andere Struktur zu verwenden mir fällt einfach keine andere in den sinn die einfacher wäre oder so.
              Ist dies so extrem kompliziert das dies nich tmal ein Profi hinbekommen kann bez helfen kann?

              EDIT: Sorry war ganz wo anders und vergessen zu editieren und versehentlich geantowortet.
              Sorry.

              Gruss

              kari_w

              Kommentar


              • #8
                wie siehts denn z.Z. deine WarenkorbTabelle(n) aus. Ich seh' nur eine unvollständige, daher die Frage.

                BTW: würdest du bitte all deine bisherigen Postings editieren, und zwar
                so, dass man nicht seitlich scrollen muss. Somit erhöhst du die Chance,
                gelesen zu werden. Denn ich habe, ehrlich gesagt, keine Lust zu scrollen,
                und wenn ich so was sehe, lese ich meist auch nicht

                Kommentar


                • #9
                  HI

                  Sorry aber ichw eiss net wie ich das so verkleinern soll, ohne das der code auseinander ist.

                  es gibt nur die vollständige warenkorb.
                  Wie ich im ersten posting geschriebne habe, müsste eine warenkorb_attribut erstellt werden. Jedoch wusste ich einfach nicht mehr was da ales reinsoll das es funktioniert und habe sie daher gelöscht.

                  Gruss

                  kari_w

                  Kommentar


                  • #10
                    Wie ich es eigentlisch schon geschrieben habe ich weiss nicht was daran unklar sein soll.
                    na, wenn ich sowas lese
                    Es soll eine Tabelle noch gemacht werden warenkorb_attribut,
                    löl

                    außerdem ists manchmal sinnvoller, erstmal zu beschreiben, was man machen will, und nicht, wie man sich den programmablauf vorstellt.

                    Das Grosse liegt darin, er soll überprüfen bei jedem mal senden, ob es schon ein produtk in Warenkrob gibt mit EXACKT den Attributen in warenkorb_Attribut die gewählt wurden beim senden. wenn es dies schon gibt soll er nur die Menge des Produktes Updaten ansonsten ein neuen Insert machen.
                    das scheine ich zwar zu verstehen aber naja.

                    das hab ich verstanden: du willst also ne tabelle, wo pro bestellung die artikel plus ihre jeweiligen eigenschaften gespeichert werden? wenn eine artikelkombination schon existiert, wird zähler um eins erhöht?

                    meine empfehlung: schreibt einfach die jeweilige kombination in die tabelle, egal ob die schon existiert und zähl nachher die anzahl der gleichen kombinationen ... dürfte einfacher sein.

                    du willst doch speichern, welche artikel kombis am beliebtesten sind?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      meine empfehlung: schreibt einfach die jeweilige kombination in die tabelle, egal ob die schon existiert und zähl nachher die anzahl der gleichen kombinationen ... dürfte einfacher sein.


                      Fänd ich auch schon super, wenn du mir sagen würdest wie da die abfrage aussehen würde.
                      Ich sehe das als das selbe wie mti der select die bei mir nicht geklappt hat.

                      Gruss

                      kari_w

                      Kommentar


                      • #12
                        Original geschrieben von kari_w
                        Hallo.

                        es ist ein riesen Problem. Es geht nichts wie oben schon geschrieben.

                        1. Problem. Ich kann warenkorb und warenkorb_attribut nicht in einer
                        while schlaufe einfügen lassen, da in die warenkrob nur ein eintrg kommt und in warenkorb_attribute sollen die attribute also kann es duzende
                        einträge geben.

                        2. Die überprüfung zu Problem von Punkt 1 geht einfach nichts. Darum habe ich hier nun nach baldigen zwei Wochen ja auch um hilfe gebeten.

                        Ich komme einfach gesammthaft nicht weiter wie das alles funktionieren soll nach dem senden das er dies richtig einfügt. Daher habe ich ja hier gefragt und hoffe jemand kan weiterhelfen.

                        Gruss

                        kari_w
                        Du hast Product und Product_attribut. Wie gehst du denn hierbei um ?
                        Genauso kannst du auch mit Warenkorb und Warenkorb_attribut realisieren. Tipp:

                        zu 1. verwende JOIN und GROUP BY
                        zu 2. wenn 1. gelöst ist, dann wirst du von selbst drauf kommen

                        [color=red]PS: Bitte beim Verfassen der Nachricht auf die Zeilenlänge achten und
                        bei Bedarf <CR> betätigen, sonst habe ich echt keine Lust mehr dein Posting zu lesen [/color]
                        Zuletzt geändert von asp2php; 25.02.2004, 08:35.

                        Kommentar


                        • #13
                          Original geschrieben von asp2php
                          Du hast Product und Product_attribut. Wie gehst du denn hierbei um ?
                          Genauso kannst du auch mit Warenkorb und Warenkorb_attribut realisieren. Tipp:

                          zu 1. verwende JOIN und GROUP BY
                          zu 2. wenn 1. gelöst ist, dann wirst du von selbst drauf kommen

                          [color=red]PS: Bitte beim Verfassen der Nachricht auf die Zeilenlänge achten und
                          bei Bedarf <CR> betätigen, sonst habe ich echt keine Lust mehr dein Posting zu lesen [/color]
                          1. Hatte ich ebenfalls schon. Nichts bewikt ist nicht gegangen immer wieder hat ers nicht überprüft.
                          2. ebenfalls nicht. Da dies was ganze anderes ist. product und product_Attribut sind tabellen wo nichts eingefügt wird mit einem webscript oder so.

                          PS. was sind CR Tags?

                          Gruss

                          kari_w

                          Kommentar


                          • #14
                            Ähm, wie sieht denn deine Warenkorb_Attribut Tabelle aus, stehen denn Warenkorb und Warenkob_Attribut in 1:n Beziehung ? Und für was ist "prodstp" in Warenkorb, ist die Spalte relevant zu dem Problem ?

                            <CR> ist kein HTML-Tag, ist 'ne uralte Schreibweise für die Tasten auf der
                            Tastatur und steht für Carriage Return [=chr(13)] auch Enter genannt

                            Kommentar


                            • #15
                              Hi

                              Nein die ist unrelevant ist z.Z. stückpreis.

                              warenkorb_attribut gibt es nicht mehr wie schon gesagt ist die gelöscht da ich so viele varianten hatte. Hab die extra offen gelassen, da ich annehme ihr wisst besser wie die aufgebaut sein müsste für dies:

                              CR: ok werde ich beachten beim nächstne mal fest versprochen!

                              gruss

                              kari_w

                              Kommentar

                              Lädt...
                              X