Ich hab jetzt mal angefangen ein kleines Warenkorbsystem zu erstellen. Und wollte euch jetzt mal fragen was ich Code mäßig noch verbessern kann? Jetzt zeig ich euch erst mal wie ich die Produkte aus der Datenbank anzeige und mit einem Formular in die Warenkorb Tabelle Schreibe.
Code:
<?php
echo("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
echo("<tr>");
echo("<td height=\"10\"></td>");
echo("</tr>");
echo("</table>");
$res = mysql_db_query($dbase, "SELECT * FROM produkte");
$num = mysql_num_rows($res);
echo("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
echo("<tr>");
echo("<td height=\"20\">Produkt</td>");
echo("<td>Hersteller</td>");
echo("<td>Preis</td>");
echo("</tr>");
for ($i=0; $i<$num; $i++)
{
$artikel_id = mysql_result($res, $i, "artikel_id");
$titel = mysql_result($res, $i, "titel");
$hersteller = mysql_result($res, $i, "hersteller");
$preis = mysql_result($res, $i, "preis");
$mwst = mysql_result($res, $i, "mwst");
$menge = mysql_result($res, $i, "menge");
if($Hintergrundfarbe=="#FFFFFF")
{
$Hintergrundfarbe="#F2F2F2";
}
else
{
$Hintergrundfarbe="#FFFFFF";
}
echo("<form style=\"display:inline\" action=\"shop/pro_eingabe.php\" method=\"post\" name=\"form\">");
echo("<input type=\"hidden\" name=\"sid\" value=" . session_id() ." />");
echo("<input type=\"hidden\" name=\"artikel_id\" value=\"$artikel_id\" />");
echo("<input type=\"hidden\" name=\"titel\" value=\"$titel\" />");
echo("<input type=\"hidden\" name=\"hersteller\" value=\"$hersteller\" />");
echo("<input type=\"hidden\" name=\"preis\" value=\"$preis\" />");
echo("<input type=\"hidden\" name=\"mwst\" value=\"$mwst\" />");
echo("<input type=\"hidden\" name=\"menge\" value=\"$menge\" />");
echo("<tr bgcolor=\"$Hintergrundfarbe\">");
echo("<td width=\"300\" height=\"20\"><a titel=\"weiter\" href=\"index.php?page=detail.php&nav=$nav&det=$artikel_id\" target=\"_self\">$titel</a></td>");
echo("<td width=\"100\">$hersteller</td>");
echo("<td width=\"70\" align=\"right\">$preis Euro</td>");
echo("<td width=\"70\" align=\"right\"><input type=\"image\" src=\"layout/warenkorb.gif\" name=\"senden\"></td>");
echo("</form>");
echo("</tr>");
}
echo("</tr>");
echo("</table>");
echo("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
echo("<tr>");
echo("<td height=\"10\"></td>");
echo("</tr>");
echo("</table>");
?>
der code für die pro_eingabe.php
Code:
<?php
header("Location: ../index.php?page=warenkorb.php");
if (strlen($sid=trim($sid))==0)
die ("sid fehlt.");
if (strlen($artikel_id=trim($artikel_id))==0)
die ("artikel_id fehlt.");
if (strlen($titel=trim($titel))==0)
die ("titel fehlt.");
if (strlen($hersteller=trim($hersteller))==0)
die ("hersteller fehlt.");
if (strlen($preis=trim($preis))==0)
die ("preis fehlt.");
if (strlen($mwst=trim($mwst))==0)
die ("mwst fehlt.");
if (strlen($menge=trim($menge))==0)
die ("menge fehlt.");
include("../include/mysqldb.php");
$db = mysql_connect($host, $user, $pass);
$sqlab = "INSERT into warenkorb (sid,artikel_id,titel,hersteller,preis,mwst,menge) values ('$sid', '$artikel_id', '$titel', '$hersteller', '$preis', '$mwst', '$menge')";
mysql_db_query($dbase, $sqlab);
exit();
?>
der Warenkorb
Code:
<?php
echo("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
echo("<tr>");
echo("<td height=\"10\"></td>");
echo("</tr>");
echo("</table>");
$res = mysql_db_query($dbase, "SELECT * FROM `warenkorb` WHERE `sid` LIKE '". session_id() ."'");
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$id = mysql_result($res, $i, "id");
$sid = mysql_result($res, $i, "sid");
$artikel_id = mysql_result($res, $i, "artikel_id");
$titel = mysql_result($res, $i, "titel");
$hersteller = mysql_result($res, $i, "hersteller");
$preis = mysql_result($res, $i, "preis");
$mwst = mysql_result($res, $i, "mwst");
$menge = mysql_result($res, $i, "menge");
$mwst_satz = $mwst;
$einzelpreis = $preis * $menge;
$einzelmwst = $preis / 100 * $mwst * $menge;
if ($mwst_satz == 16)
$mwst16 = $mwst16 + $einzelmwst;
if ($mwst_satz == 7)
$mwst7 = $mwst7 + $einzelmwst;
$einzelpreis = sprintf('%.2f', $einzelpreis);
$einzelmwst = sprintf('%.2f', $einzelmwst);
$mwst16 = sprintf('%.2f', $mwst16);
$mwst7 = sprintf('%.2f', $mwst7);
$gesamtpreis = $gesamtpreis + ($preis * $menge);
$gesamtpreis = sprintf('%.2f', $gesamtpreis);
echo("<table width=\"550\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
echo("<tr>");
echo("<td bgcolor=\"#7F7F7F\">");
echo("<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">");
echo("<tr bgcolor=\"#FFFFFF\">");
echo("<td width=\"120\" bgcolor=\"#FFFFFF\">");
echo("<form action=\"shop/war_update.php\" method=\"post\" name=\"form\">");
echo("<input type=\"hidden\" name=\"id\" value=\"$id\" />");
echo("<input type=\"hidden\" name=\"sid\" value=\"$sid\" />");
echo("<input type=\"hidden\" name=\"artikel_id\" value=\"$artikel_id\" />");
echo("<input type=\"hidden\" name=\"titel\" value=\"$titel\" />");
echo("<input type=\"hidden\" name=\"hersteller\" value=\"$hersteller\" />");
echo("<input type=\"hidden\" name=\"preis\" value=\"$preis\" />");
echo("<input type=\"hidden\" name=\"mwst\" value=\"$mwst\" />");
echo("<table width=\"100%\" border=\"0\" align=\"right\" cellpadding=\"0\" cellspacing=\"0\">");
echo("<tr>");
echo("<td width=\"20\"><input type=\"text\" name=\"menge\" value=\"$menge\" size=\"4\" /></td>");
echo("<td width=\"97\">");
echo("<input type=\"image\" src=\"layout/button/aendern.gif\" name=\"senden\" alt=\"Anzahl ändern\">");
echo("</td>");
echo("</tr>");
echo("</table>");
echo("</form>");
echo("</td>");
echo("<td>$titel</td>");
echo("<td align=\"right\" bgcolor=\"#FFFFFF\">$preis Euro</td>");
echo("</tr><tr bgcolor=\"#FFFFFF\">");
echo("<td align=\"right\" bgcolor=\"#FFFFFF\">");
echo("<form action=\"shop/war_loeschen.php\" method=\"post\" name=\"form1\" />");
echo("<input type=\"hidden\" name=\"loeschen\" value=\"$id\"/><input type=\"image\" src=\"layout/button/art_loesch.gif\" name=\"senden\" />");
echo("</form>");
echo("</td>");
echo("<td align=\"right\">enthaltene MwSt: $mwst %</td>");
echo("<td width=\"100\" align=\"right\" bgcolor=\"#FFFFFF\">$einzelmwst Euro</td>");
echo("</tr>");
echo("</table>");
echo("</td>");
echo("</tr><tr> ");
echo("<td height=\"5\"><img src=\"images/leer.gif\" width=\"1\" height=\"5\"></td>");
echo("</tr>");
echo("</table>");
}
?>
<?php
if ($gesamtpreis >= $versandfrei)
{
$versandkosten = 0;
}
$versandkosten = sprintf('%.2f', 6.9);
?>
<hr align="right" width="90" size="1">
<?php
if ($versandkosten != '')
{
?>
<p align="right" class=inhaltText>
enthaltene Mwst 16%: <?=$mwst16 ?>Euro
enthaltene MwSt 7%: <?=$mwst7 ?>Euro</p>
<p align="right" class=inhaltText>
Versandkosten: <?=$versandkosten ?>Euro
<?php
if ($versandfrei != '' and $versandkosten != 0)
echo "(ab $versandfrei € Versandkostenfrei)";
}
$gesamtpreis = $gesamtpreis + $versandkosten;
$gesamtpreis = sprintf('%.2f', $gesamtpreis);
echo "
<p align=right class=inhaltText>[b]Gesamtpreis: $gesamtpreis Euro<b/></p>";
?>
Eins der Probleme die ich hab ist das jedes Produkt einen neuen Datensatz bekommt wie kann ich das verhindern.