Hallo zusammen,
ich bin gerade dabei, einen eigenen kleinen Shop zu bauen, was soweit auch ganz gut klappt.
Wenn jemand etwas in den Warenkorb packt, habe ich das so gelöst, dass die session_id, produkt_id, Menge und Größe in eine separate Tabelle eingetragen werden.
In meinem Warenkorb werden dann also die Artikel ausgelesen und angezeigt.
Hier mal der
Link.
Was ich aber absolut nicht geregelt kriege, ist, die Artikelmengen zu ändern und den Warenkorb entsprechend zu aktualisieren.
Also, ausgelesen wird das Ganze so:
PHP-Code:
$query_wk = "SELECT * FROM t_bestellungen WHERE sid = '$sid'";
$result_wk = mysql_query($query_wk);
$anzahl_wk = mysql_num_rows( $result_wk );
if($anzahl_wk == "0")
{
$content .= '<tr><td colspan="5">Es befinden sich keine Produkte im Warenkorb.</td></tr>';
}
else
{
for ( $i=1; $i <= $anzahl_wk; $i++ )
{
$datensatz_wk = mysql_fetch_array ( $result_wk );
$produkt_id = $datensatz_wk['produkt_id'];
$a = "SELECT * FROM t_produkte WHERE id='$produkt_id'";
$b = mysql_query($a);
$c = mysql_fetch_array($b);
$preis_result = $c['preis'];
$summe_result = $c['preis']*$datensatz_wk['menge'];
// Ausgabe als Dezimalzahl
$preis = number_format($preis_result, 2, ",", ".");
$summe = number_format($summe_result, 2, ",", ".");
$content .= '<tr>';
$content .= '<td>';
if(!empty($c['img']))
{
// Resizer
$tmp = getimagesize($c['img']);
$hize=$tmp[1];
$wize=$tmp[0];
if($wize>50)
{
$weite = 50;
$w = $wize/50;
$hoehe = $hize/$w;
}
else
{
$weite = $wize;
$hoehe = $hize;
}
$content .= '<img src="'. $c['img'] .'" width="'.$weite.'" height="'.$hoehe.'">';
}
else
$content .= '<img src="../images/dummy_klein.jpg">';
$content .= '</td>';
$content .= '<td>';
$content .= '<input type="text" name="menge" class="form" style="width: 25px; border:1px solid #999999;" value="'.$datensatz_wk['menge'].'">';;
$content .= '</td>';
$content .= '<td>';
$content .= '<a href="index.php?kategorie='.$c['parent_id'].'&id='.$c['id'].'"><span style="color: #cc0000;">'.$c['title'].'</span></a><br>';
$content .= 'Größe: '.$datensatz_wk['groesse'];
$content .= '</td>';
$content .= '<td align="right">';
$content .= $preis.' EUR';
$content .= '</td>';
$content .= '<td align="right">';
$content .= $summe.' EUR';
$content .= '</td>';
$content .= '</tr>';
$content .= '<input type="hidden" name="id" value="'.$datensatz_wk['id'].'">';
//Gesamtsumme ermitteln
$zw += $summe_result;
$zwischensumme = number_format($zw, 2, ",", ".");
$gesamt = $zw+5;
$gesamtsumme = number_format($gesamt, 2, ",", ".");
// Mwst ermitteln
$mwst1 = $gesamt/119*19;
$mwst = number_format($mwst1, 2, ",", ".");
}
}
Zum Aktualisieren des Warenkorbs dachte ich daran:
PHP-Code:
// Der Warenkorb soll aktualisiert werden
if ( isset( $_REQUEST["do"] ) && $_REQUEST["do"] == "update" )
{
$id = $datensatz_wk['id'];
// Eintragen des Warenkorbs in die DB
$query_order = "UPDATE t_bestellungen SET menge='".$_REQUEST['menge']."' WHERE id='$id'";
$result_order = mysql_query($query_order);
if ( ! $result_order )
{
die("Konnte den Warenkorb nicht aktualisieren: " . mysql_error() );
}
}
Nur - an welche Stelle baue ich das Ding? Ich habe schon einiges probiert, aber nichts klappt...
Vielen DAnk schon mal.
Edit: Ach so, wenn das jemand drauf guckt, ist der Warenkorb ja erstmal leer. In der Testkategorie sind zwei Artikel zum Testen.