Warenkorb hochzählen

AcidOne

Gesperrt
Hi leutz,

Hab en riesengroßes Problem mit einem Warenkorb! Wenn ich ein Artikel bestellen möchte wird dies auch im Warenkorb angezeigt. Aber wenn ich jetzt noch einen Artikel bestellen wird der Warenkorb überschrieben, und sch...e iss. :rolleyes:

aber ihr könnt mir doch mit sicherheit helfen.

PHP:
$count = $_SESSION['anz'];
if ($count==0) {
	echo "Warebkorb leer<br>0,00 EUR";
}
else
{
	$anz_sum="0";
	include("admin/connect.inc");
	for($x=0;$x<$count;$x++){
		$anz=$_SESSION['anz'];
		$anz_sum+=$anz;
		$id=$_SESSION['anz'];
		$q="SELECT * FROM shop WHERE id=$artikel";
		$result = mysql_query($q);
		$sum = mysql_fetch_object($result);


	}

	echo $anz_sum. " Produkt";
	if ($anz_sum>1) echo "e";
	echo "<br>". $sum->preis. " &euro;";
}

und den ganzen Spass übergebe ich mit :

<a href="index.php?anz=1&artikel=<? echo $id_des_artikels ?>">Link</a>

so jetzt zu meiner Frage normalerweise müsste er die Artikel hochzählen, aber tut er nicht. Warum bloss? :rolleyes: :(

Ich danke schon einmal für eure Hilfe..

GreetZ Acid
 
Also ich hab mir mal den Codeausschnitt angesehen und seh da überhaupt nicht durch. Kannst du das Problem bitte noch einmal etwas verständlicher formulieren? Wie werden die Artikel im Warenkorb gespeichert und was soll der Code eigentlich bewirken?
 
jo sicher

Also ich habe nen kleinen Minishop programmiert. Nun komme ich am Warenkorb an.

Mein Problem hängt nun darin das wenn ich einen Artikel bestellen will dies auch im Warenkorb angezeigt wird. Soweit so gut. Nur jetzt will ich aber, weil ich soviel Geld habe ;) , noch einen Artikel bestellen.

Jetzt überschreibt mir mein Warenkorb aber den Artikel und ersetzt in durch den letzten den ich angeklickt habe.

Ich möchte aber das wenn ich einen Artikel bestelle im Warenkorb steht :
" 1 Produkt im Warenkorb "
und wenn ich noch einen bestelle, soll stehen
" 2 Produkte im Warenkorb"

Nur geschieht dies nicht. Jetzt hab ich noch versucht das ganze in ein Array umzuwandeln. Soweit so gut nur jetz zählt der gar net mehr.

Ich brauche Hilfe weil mein Chef mir langsam aufs Dach steigt. :(
 
Ja in Sessions

Hi,

Ich versuche das ganze in Sessions zu speichern. Habe mir halt die Info scho hier aus einem Thread geholt. aber so funktionukkelt des net wirklich.

der thread

und ich peil des net warum des net funktioniert. Ich habe es grundgesehen genauso gemacht wie es dort erklärt wurde, aber nix läuft, wenn ich das ganze als ein Array mache legt er gar nichts im Warenkorb ab.

GreetZ Acid
 
Vielleicht hilft uns an dieser Stelle ein bisschen Quelltext weiter. Wenn er nichts in der Session speichert sollten wir uns also mal den Teil des Quelltextes ansehen wo du einen neuen Artikel in die Session speicherst.
 
Warum machst du dir nicht ganz easy ein Array "Artikel".
Da fragste dann mit sizeof() die größe ab.

PHP:
$_SESSION["Artikel"]=array();
$_SESSION["Artikel"]["id"][0]="1";
$_SESSION["Artikel"]["id"][1]="44";
$_SESSION["Artikel"]["id"][2]="73";

echo sizeof($_SESSION["Artikel"]["id"])." Artikel vorhanden<br>";
Schwierig wird nur das herauslöschen aus dem Warenkorb.
Das habe ich noch nicht getestet ... ;)
 
Also vorweg: Ich hab den Thread nur überflogen :)

Warum speicherst Du den Warenkorb nicht in einer Datenbank wo Du anhand der Session-ID die Produkte ausliest? So kannst Du ganz bequem neue Produkte in den Warebkorb packen oder alte löschen oder bestehende ändern. Find ich persönlicher besser als den Warenkorb komplett mit Sessions umzusetzen. Außerdem hast Du die Möglichkeit, den Warenkorb auch noch Tage später dem Besucher anzuzeigen.
 
Jo und Thanx

Jo hab das ganze auch mittlerweile auf DB Basis geschrieben, und meiner meinung nach es besser und intelligenter als auf Sessions.
 
Ich verwende für Warenkörbe eher Sessions, da der Anwender meistens nur mal so durch den Shop klickt und sich in den seltensten Fällen dazu entschließt zu bestellen. Wird der Browser zugemacht, ist die Session weg und der Warenkorb leer. Speicher ich die Daten in der Datenbank, muss ich mich extra noch um die Bereinigung der temporären Datensätze kümmern.

Aber viele Wege führen nach Rom.

mfg, snuu
 
Zurück