• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

auflistung von ausgewählten elementen am beispiel eines webshops

Status
Für weitere Antworten geschlossen.

XraYSoLo

Senior HTML'ler
tag zusammen,

ich bin gerade an der entwicklung eines kleinen webshop-prototyps.
jedoch jetzt bei der auflistung der einzelnen, vom user ausgewählten elemente auf granit gestoßen.
der benutzer sieht sich das angebot an und wählt produkte per angabe der anzahl des jeweiligen erzeugnisses in einem textfeld aus. nach einem klick auf einen button soll die auswahl temporär gespeichert werden. erste frage:
wie und wo spichern?
ich habe entweder an sessions (wobei hier nur eine begrenzte anzahl an bestellungen möglich ist) oder an temporäre speicherung in der DB gedacht.
der benutzer soll verständlicherweise auch mehrere produkte auf einmal bestellen können. frage zwei:
wie auflisten und ausgeben?
letzteres bezieht sich auf die generierung der rechnung, die nach dem bestellvorgang eingeblendet wird.

ich weiß, dass mein problem nur schwer zu schildern ist, aber ich hoff' mal, mich deutlich genug ausgedrückt zu haben.
thx schonmal

Nils aka XraYSoLo
 
Ich finde den Ansatz mit dem Temporär Speichern in einer Datenbank von dir nicht schlecht

Versuch es doch mal mit temporären Tabellen in der Datenbank
 
Ja genau du könntest eine Tabelle nach folgendem muster anlegen:

Tabelle: Markierte Ware:
Spalte: Benutzer (Integer, Account Nummer)
Spalte: Produkt (Interger, Nummer des Produkts)
Spalte: Anzahl (Integer, Stückzahl)
Spalte: ID (Primär Schlüssel, Einfach weil du einen haben musst)

Dabei ist Benutzer kein Primär Schlüssel weil ein benutzter ja mehrere Produkte auswählen kann (also mehrere einträge auf einen Anwender verweisen) und Produkt ist auch kein primär schlüssel weil ja ein Produkt auch von mehreren Anwendern ausgewählt werden kann.

So kannst du dann für jedes ausgewählte Produkt für jeden Benutzer einen eintrag erstellen.

Dein ansatz mit der Session ist Problematisch weil die auswahl verloren geht wenn er den Browser Schließt. Stört dich das aber nicht wäre das doch gar kein so schlechter ansatz, weil die Benutzer automatisch auseinandergehalten werden (da jeder eine Session erhält). Und die ausgeählten Produkte kannst du wieder über ihre nummer in die session eintragen:
PHP:
$_SESSION[2] = 4; // Produkt Nummer 2 wurde 4 mal bestellt
$_SESSION[46] = 1; // Produkt Nummer 46 wurde 1 mal bestellt

Ich hoffe es wird deutlich wie ich das alles meine.

Gruß, Prophet
 
Hi Nils,

PHP:
<?php

@session_start();

$_SESSION['myShoppingCart'] = array();

/**
 * Add a article to the shoppingcart.
 *
 * @param $article
 * @param $count  
 */  
function addToCart($article, $count)
{
    $myArticles = array();

    $myArticles['article'] = $article;
    $myArticles['count']  = $count;

    array_push($_SESSION['myShoppingCart'], $myArticles);
}

/**
 * Shows the shoppingcart entries.
 */  
function showCart()
{
    echo "There are ".count($_SESSION['myShoppingCart'])." articles in the shoppingcart.<br /> <br />";
    
    foreach($_SESSION['myShoppingCart'] as $key => $value)
    {        
        echo "Article : ".$value['article']. " | Count : ".$value['count'];
        echo "<br />";
    } 
}


addToCart("Article 1", 2);
addToCart("Article 2", 33);
addToCart("Article 3", 200);
addToCart("Article 4", 1);

showCart();

?>

Gruß Sven
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben