php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.02.2006, 09:45  
Benutzer
 
Registriert seit: 26.06.2003
Beiträge: 44
CityHubter
Standard Mein kleines Warenkorbsystem

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 &auml;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 &euro; 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.
CityHubter ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.02.2006, 10:37  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Die Programm-Logik hab ich mir nicht angeguckt.
Als Verbesserung würde ich mal ganz dringend vorschlagen, nicht für jede Kleinigkeit eine eigene echo-Anweisung einzubauen.

Die erste Tabelle könntest Du auch so ausgeben:
PHP-Code:
<?php
   
echo("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
     <tr>
       <td height=\"10\"></td>
     </tr>
   </table>"
;
?>
oder auch so:
PHP-Code:
<?php
   
echo("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"
     
."<tr>"
       
."<td height=\"10\"></td>"
     
."</tr>"
   
."</table>";
?>
Wenn keine PHP-Variablen eingefügt werden sollen, kannst Du auch kurz den PHP-Teil beenden, Deinen statischen Text ausgeben und danach wieder mit PHP weiter machen:

PHP-Code:
<?php

?>

<table border="0" cellpadding="0" cellspacing="0">
 <tr>
 <td height="20">[b]Produkt[/b]</td>
   <td>[b]Hersteller[/b]</td>
   <td>[b]Preis[/b]</td>
 </tr>

<?php

?>
Und wenn Du in den Strings die Attribute der HTML-Tags in ' einschließt, statt in ", sparst Du Dir die Escape-Orgien.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP+Mysql Programmierer für Erweiterung eines kleines Projektts gesucht OnkelStephan Beitragsarchiv 2 14.07.2008 14:29
Kleines Portal erstellen Balkok PHP Tipps 2008 5 13.07.2008 04:34
Kategorienamen manuell einfärben - kleines Problen noch cybermailer PHP-Fortgeschrittene 5 01.05.2008 20:56
kleines Problem mit css layer Rotti HTML, Usability und Barrierefreiheit 0 08.12.2005 22:36
Sicher nur ein kleines Problem allerdings finde ich es nicht Datenbanken 8 30.10.2005 16:44
Kleines Onlinegame Beitragsarchiv 4 06.07.2005 22:11
[Erledigt] kleines Problem mit uploadskript ... PHP Tipps 2005 2 21.03.2005 22:12
Suche für mySQL alternatives Backend, kleines CMS ? PHP Tipps 2005 10 24.01.2005 12:11
kleines fenster PHP Tipps 2005 7 05.01.2005 22:26
kleines Problem PHP Tipps 2004-2 2 05.12.2004 09:44
[SUCHE] kleines JavaScript-Script Beitragsarchiv 0 22.11.2004 16:11
Ein kleines cms mit php machen PHP Tipps 2004-2 1 09.11.2004 15:10
Übern Link öffnet sich ein Kleines Fenster themonk HTML, Usability und Barrierefreiheit 3 13.10.2004 19:27
brauche n kleines ftp-prog Off-Topic Diskussionen 6 27.08.2004 14:42
Kleines Problem mit Upload-Script Pimbolie1979 PHP Tipps 2004 1 28.07.2004 11:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
kleines warenkorbsystem, warenkorbsystem php, warenkorbsystem, http://www.php.de/php-tipps-2006/36540-mein-kleines-warenkorbsystem.html, php warenkorbsystem, warenkorbsystem php datenbank, php warenkorbsystem selbst erstellen php warenkorb, kleines warenkorb system php, html warenkorb system, kleines warenkorb mit php, php code warenkorb erstellen, code warenkorb erstellen, php html kleines script für 20 prudukte, kleines warenkorb-script, programm um warenkorbsystem zu erstellen, warenkorbsystem erstellen, warenkorb system selber php, warenkorb datenbank formular, warenkorbsystem selbst erstellen, if($width < 300) php

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.