Frage : Schaffung einer Lernabschnittreihe für einfache Karre

Ich nicht wirklich weiß, wenn ich die rechte Idee hier habe, aber ich Benutzerwahlen in einem Lernabschnitt speichern möchte.

So, lässt dort sagen sind 3 Einzelteile. Sie klicken an ein, um mehr über es herauszufinden. Hier können sie an klicken hinzufügen Karre. Sobald sie an klicken, Karre addieren, die sie diese Einzelteil Identifikation einem Lernabschnitt hinzufügen muss. Aber andererseits, wenn sie hinzufügen, muss ein anderes Einzelteil es im gleichen Lernabschnitt gespeichert werden? Im Augenblick benutzt hinzufügen Karrenverbindung nicht, Pfosten aber erhält. So auf der Karrenseite habe ich below, aber ich denke dass, klicken sobald sie an andere, Karre hinzufügen, der Lernabschnitwert ändere.

$_SESSION = $_GET [„DVDID“];

Antwort : Schaffung einer Lernabschnittreihe für einfache Karre

Es ist schwieriger, als es scheint, also ich irgendeinen Code angebracht, der es (unten sehen), da eine PHP-Kategorie tut. Dieses ist nur ein sehr einfacher Korb, aber es kann leicht verlängert werden.

Es verwendet wie so

$b = neues myBasket („basketName“);    // können Sie einige Körbe laufen lassen, verwenden gerade einzigartige Namen

$b->addItem ($productCode);  // addiert 1 Einzelteil

$b->addItem ($productCode2, 10);   // hinzufügt eine Quantität von 10 für productCode2


Zu den Korb anzeigen

$items = $b->fetchAllItems ();
$qty = $b->fetchAllQtys ();

foreach ($items als $index=> $aProductCode) {

     Echo „Produktcode $aProductCode hat {$qty [$index]} Einzelteile
„;
}
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
sessName = $name. „_bskt“;
          $this->sessQty  = $name. „_qty“;

          $this->initialise ();
     }





     // ----- Private Methoden -------------------------------------------------


     //-Speicher die gegenwärtige Reihe in einer Lernabschnittvariable
     //
     privates Funktion updateBasket () {
          $_SESSION [$this->sessName] = serialize ($this->basket);
          $_SESSION [$this->sessQty]  = serialize ($this->qty);
     }



     // initialisieren den Korb
     //
     private Funktion initialisieren () {

          //-Überprüfung, wenn Lernabschnitt im Gang ist und wenn den vorhandenen Korb so zurückholen
          //
          wenn (isset ($_SESSION [$this->sessName]) && isset ($_SESSION [$this->sessQty])) {
               $this->basket = unserialize ($_SESSION [$this->sessName]);
               $this->qty    = unserialize ($_SESSION [$this->sessQty]);
          }
          sonst {
               $this->basket = Reihe ();
               $this->qty    = Reihe ();
               $this->updateBasket ();
          }

     }



     // ----- Allgemeine Methoden --------------------------------------------------


     // leeren den Korb heraus
     //
     Funktionsfreier raum () {

          unset ($_SESSION [$this->sessName]);
          unset ($_SESSION [$this->sessQty]);
          $this->initialise ();
     }



     // hinzufügen einen Gegenstand dem Ende der Liste n
     //
     //-Parameter: $item - ein gespeichert zu werden Gegenstand
     //             $num - eine gespeichert zu werden Quantität, Rückstellungen bis 1
     //
     Funktion addItem ($item, $num=1) {
          // sicherstellen den Indexaufenthalt im Schritt thalt, indem es das höchste zurückholt
          //-vorhandener Index und Erhöhen er
          //
          $ctr = Zählimpuls ($this->basket);

          wenn ($ctr > 0) {
               $lastKey = Ende (array_keys ($this->qty));
               $ctr = $lastKey + 1;
          }

          $this->basket [$ctr] = $item;
          $this->qty    [$ctr] = $num;

          $this->updateBasket ();
     }



     // entfernen ein Einzelteil von der Liste - durch die Korbzahl kennzeichnen.
     //-ANMERKUNG, DASS DAS ENTFERNEN EINES EINZELTEILS NICHT DEN KORB ZURÜCKSTELLT, NUMMERIERT in den Reihen.
     //
     //-Parameter: $basketNumber - der Index der von der Reihe zu entfernen Reiheneintragung,
     //
     Funktion rmvItem ($basketNumber) {

          wenn (Zählimpuls ($this->basket) > 0) {

               Vor dem Versuch seines Abbaus, prüfen //-001, ob ein Einzelteil existiert
               //
               wenn (isset ($this->basket [$basketNumber]  )) {
                    unset ($this->basket [$basketNumber]);
                    unset ($this->qty [$basketNumber]);
                    $this->updateBasket ();
               }
          }
     }



     //-Reichweite ein Einzelteil
     //
     //-Parameter: $basketNumber - der Index der von der Reihe zurückzuholenden Reiheneintragung
     //
     Funktion fetchItem ($basketNumber) {
          wenn (Zählimpuls ($this->basket) > 0) {
               Rückhol$this->basket [$basketNumber];
          }
     }



     //-Reichweite ein Quantität für ein Einzelteil
     //
     //-Parameter: $basketNumber - der Index der von der Reihe zurückzuholenden Menge
     //
     Funktion fetchItemQuantity ($basketNumber) {
          wenn (Zählimpuls ($this->qty) > 0) {
               Rückhol$this->qty [$basketNumber];
          }
     }


     //-Änderung ein gegebenes Einzelteil in der Liste
     //
     //-Parameter: $basketNumber - der Index des Gegenstandes zum Update
     //             $anItem - ein Gegenstand
     //
     Funktion chgItem ($basketNumber, $anItem) {
          wenn ($basketNumber >= 0 && Zählimpuls ($this->basket) > 0) {
               Vor dem Versuch seines Abbaus, prüfen //-001, ob ein Einzelteil existiert
               //
               wenn (isset ($this->basket [$basketNumber]  )) {
                    $this->basket [$basketNumber] = $anItem;
                    $this->updateBasket ();
               }
          }
     }



     //-Änderung ein gegebene Einzelteilquantität in der Liste
     //
     //-Parameter: $basketNumber - der Index des Gegenstandes zum Update
     //             $qty - Die neue Quantität
     //
     Funktion chgQty ($basketNumber, $qty) {
          wenn ($basketNumber >= 0 && Zählimpuls ($this->qty) > 0) {

               Vor dem Versuch seines Abbaus, prüfen //-001, ob ein Einzelteil existiert
               //
               wenn (isset ($this->basket [$basketNumber]  )) {
                    $this->qty [$basketNumber] = $qty;
                    $this->updateBasket ();
               }
          }
     }



     // erhalten eine Liste aller Einzelteile im Korb
     //
     Funktion fetchAllItems () {
          Rückhol$this->basket;
     }



     // erhalten eine Liste aller Einzelteilquantitäten, die im Korb gespeichert
     //
     Funktion fetchAllQtys () {
          Rückhol$this->qty;
     }



     // zurückbringt den Zählimpuls der Zahl Einzelteilen im Korb ngt
     //
     Funktion countBasket () {
          Rückholarray_sum ($this->qty);
     }



} //-Ende von Kategorie myBasket
Weitere Lösungen  
 
programming4us programming4us