Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.08.2003, 12:03   #1
TP-Member
 
Registriert seit: Mar 2003
rev999 macht alles soweit korrekt

array in session


PHP-Code:
session_name(warenkorb);
session_start();

$_SESSION['produkt']=$_POST['produkt'];
$_SESSION['menge']=$_POST['menge'];

if(
$korb == "korb"){
echo 
$menge," mal ",$produkt,"<br>";
session_register("produkt","menge");
echo 
"im warenkorb gespeichert";

also so weit bin ich mal, das funktioniert alles
nur wird die session jedesmal überschrieben, wenn
ein neuer artikel dazukommt, logisch.

meine Frage:

wie schaff ich es, dass jeder neue artikel (und seine menge)
in einem array gespeichert werden ?
(auf darauffolgende freie plätze natürlich)

also aus ständigem

$produkt $menge überschreiben wird

$produkt[0] $menge[0]
$produkt[1] $menge[1]
..... .....

oder:
wie löst ihr sowas?
rev999 ist offline   Mit Zitat antworten


Alt 29.08.2003, 12:25   #2
TP-Veteran
 
Benutzerbild von holunda
 
Registriert seit: Oct 2001
Ort: Oberau
holunda macht alles soweit korrekt
Hi, probiers mal mit der KLasse:
PHP-Code:
class warenkorb {
    
    var 
$korb// Storage Array
    
    // Konstruktor
    
function warenkorb (){
    
        if (
$_SESSION["warenkorb"]){
            
$this $_SESSION["warenkorb"];
        } else {
            
$_SESSION["warenkorb"] = $this;
        }
    
    }
    
    
    
// Hinzufügen
    
function newPos ($artikel,$menge=1){
        
        
$this->korb[$artikel] = $menge;
        
$_SESSION["warenkorb"] = $this;
        return 
1;
        
    }
    
    
    
// Löschen
    
function delPos ($artikel){
        
        unset(
$this->korb[$artikel]); // Löschen
        
$_SESSION["warenkorb"] = $this;
        return 
1;
        
    }
    
    
    
// Ändere Postion
    
function changePos ($artikel,$menge=1){
        
        
$this->korb[$artikel] = $menge;
        
$_SESSION["warenkorb"] = $this;
        return 
1;
        
    }
    
    
    
// Zerstören
    
function destroy (){
        
        unset (
$this->korb);
        if (
session_is_registered("warenkorb"))
            
session_unregister ("warenkorb");
            
        return 
1;
        
    }
    
    
    
    
// zeige
    
function display (){
        
        
$korb $this->korb;
        return 
$korb;
        
    }
    
}

// Aufruf so:
session_start();
$korb = new warenkorb();

// neue Position
$korb->newPos(4837482,10); 
Is im Prinzip von Longfang's WEbbased Formular Workshop. Nur halt auf Warenkorb usage umgebaut ...

mfg Alex
__________________
Gruß vom holu

Geändert von holunda (29.08.2003 um 12:27 Uhr).
holunda ist offline   Mit Zitat antworten
Alt 29.08.2003, 13:23   #3
TP-Member
 
Registriert seit: Mar 2003
rev999 macht alles soweit korrekt
das ist mir irgendwie zu steil

kannst mir "konstruktor" und "hinzufügen" erklären?
rev999 ist offline   Mit Zitat antworten
Alt 15.12.2003, 16:40   #4
TP-Member
 
Registriert seit: Aug 2002
bball macht alles soweit korrekt
wie kann ich dann den wert ausgeben
??

$korb->display(); //zeigt er nicht an//

thanx
bball
bball ist offline   Mit Zitat antworten
Alt 15.12.2003, 16:47   #5
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Die Methode macht nix anderes, als den gesamten "Korbinhalt" zurückzugeben.
PHP-Code:
$korbinhalt $korb->display();
print_r($korbinhalt); 
Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 15.12.2003, 18:00   #6
TP-Member
 
Registriert seit: Aug 2002
bball macht alles soweit korrekt
hi jan,

hab versucht es so einzubauen, aber es gibt mir nichts aus obwohl im session_encode der inhalt zu sehen ist.......

thanxs
bball
bball ist offline   Mit Zitat antworten
Alt 16.12.2003, 12:35   #7
TP-Member
 
Registriert seit: Aug 2002
bball macht alles soweit korrekt
weiß jemand rat??????

thanxs
bball
bball ist offline   Mit Zitat antworten
Alt 16.12.2003, 13:35   #8
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
vielleicht hats mit der bildschirmeinstellung zu tun?
Hast du den Kontrast runtergedreht?




.... lass doch mal den code rüberwachsen, dann brauchen wir nicht zu raten, was bei dir falsch sein könnte.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 19.01.2004, 12:59   #9
muh
TP-Junior
 
Benutzerbild von muh
 
Registriert seit: Jan 2004
Ort: Köln
muh macht alles soweit korrekt
wenn ich den Inhalt wieder gebe, dann erhalte ich dies hier:

PHP-Code:
Array ( [Artikel bla bla] => [Artikel bla bla bla] => 
Ich weiss nur nicht, wie ich dass dann richtig anzeigen kann.
Ich will auch diese löschen und MengeÄnder Funktionen benutzen aber ich kann die nicht direkt in den Warenkorb einbauen. Bitte um rat ...
muh ist offline   Mit Zitat antworten
Alt 19.01.2004, 13:07   #10
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Das sind die Daten, die sich in der Variable befinden. -> www.php.net/print_r
Ansprechen tust du die Teile ganz normal über den Array-Index.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 19.01.2004, 15:20   #11
muh
TP-Junior
 
Benutzerbild von muh
 
Registriert seit: Jan 2004
Ort: Köln
muh macht alles soweit korrekt
ich checke das nicht, wie ich die einzelnen Werte aus dem Array auslesen kann.

z.B. echo $artikel[1] oder so ... verstehst du was ich meine?

ich verzweifle.
muh ist offline   Mit Zitat antworten
Alt 19.01.2004, 15:25   #12
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Du kannst die Daten aus dem Array natürlich nur so auslesen, wie du sie auch reinpackst... Bei deinem Beispiel:
Code:
Array ( [Artikel bla bla] => 5 [Artikel bla bla bla] => 1 )
kannst du die Datensätze natürlich auch nur über deren Index ansprechen, den du gegeben hast:
PHP-Code:
echo $arrayname['Artikel bla bla'];
echo 
$arrayname['Artikel bla bla bla']; 
Wobei sich holunda womöglich den Index mit der Artikel-Id belegen wollte und nicht mit dem Artikelnamen (da der ja evtl. nicht eindeutig ist). Hab mich mit der Klasse nicht auseinander gesetzt. Aber so wäre es am logischsten.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 19.01.2004, 15:40   #13
muh
TP-Junior
 
Benutzerbild von muh
 
Registriert seit: Jan 2004
Ort: Köln
muh macht alles soweit korrekt
Also reinpacken tue ich die sie ja mit der Funktion

Code:
$korb->newPos(200401,1);
auf das Beispiel hier bezogen, was muss ich genau schreiben um, z.B. den ersten Artikel angezeigt zu bekommen.
Ich will das dann später in einer for Schleife anzeigen lassen und da wäre die Art die du angegeben hast etwas problematisch.

Danke schon mal für die Mühe, gruß Chris
muh ist offline   Mit Zitat antworten
Alt 19.01.2004, 15:43   #14
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Du musst dich selbstverständlich mit Arrays auskennen -> www.php.net/array um diese zu verarbeiten. Am besten mit foreach().
Nochmal: print_r() ist eher eine Funktion zum debuggen. Damit kann man sich eine gesamte Variable rekusriv ausgeben lassen.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 19.01.2004, 15:52   #15
muh
TP-Junior
 
Benutzerbild von muh
 
Registriert seit: Jan 2004
Ort: Köln
muh macht alles soweit korrekt
auskennen tu ich mich schon mit Arrays, nur in diesem Fall weiss ich einfach nicht, wie ich an diese Sache rangehen soll.

Ich gib mal nen Beispiel:

PHP-Code:
<?php

include('lib.php');    // Inhalt der ganzen Funktionen
session_start();
$korb = new warenkorb();


$korb->newPos("Artikel01","1");
$korb->newPos("Artikel02","5");
$korb->newPos("Artikel02","2");

?>

Wie kann ich jetzt die einzelnen Artikel anzeigen lassen, oder alle zusammen. Sry, dass ich mich so doof anstelle, aber ich check es einfach nicht ... :-/

Gruß Chris
muh ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
array in session array in session
« Datensätze formatiert ausgeben | Mögliche Werte einer ENUM-Spalte ermitteln »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:32 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 36 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

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 36 37