diggity
Erfahrenes Mitglied
Hallo Leute!
Ich hab mir gestern mal die PHP Doku bezüglich Klassen durchgelesen, und das Ganze auch gleich selbst anhand eines kleinen Webshops versucht.
Meine Klasse sieht folgendermaßen aus:
Gehe ich recht in der Annahme, dass das nicht ganz dem Sinn von der Trennung von Design und Code entspricht? Ich meine die Ausgabe der Artikel in der show_cart() - Funktion ...
Ich weiß aber nicht wie ich das auf anderem Wege anstellen soll!?
Ich hab mir gestern mal die PHP Doku bezüglich Klassen durchgelesen, und das Ganze auch gleich selbst anhand eines kleinen Webshops versucht.
Meine Klasse sieht folgendermaßen aus:
PHP:
<?php
class Warenkorb {
// var $items;
function show_cart() {
if($_SESSION["cart"]) {
include("./inc/functions.php");
include("./inc/db.php");
db_connect($dbhost, $dbuser, $dbpass, $dbase);
foreach($_SESSION["cart"] as $art_nr => $anz) {
if($anz > 0) {
$query = "SELECT * FROM produkte WHERE art_nr = '".$art_nr."'";
$res = mysql_query($query);
$prod = mysql_fetch_object($res);
$art_summe = $anz * $prod->preis; //
$ges_summe += $art_summe;
echo '<form name="update'. $prod->art_nr .'" method="post"
action="warenkorb.php">';
echo
'
<table width="100%" border="0">
<tr>
<td width="46%">'. $prod->name .'</td>
<td width="11%">'. $prod->art_nr .'</td>
<td width="9%">'. $prod->preis .'€</td>
<td width="6%">
<input type="hidden" name="art_nr" value="'. $prod->art_nr .'" />
x <input type="text" name="anzahl" value="'. $anz .'" size="2" />
</td>
<td width="10%"><input type="submit" name="update" value="ändern" /></td>
<td width="9%">'. $art_summe .'€</td>
<td width="9%"><a href="./index.php?action=warenkorb&del&id='.
$prod->art_nr .'">löschen</a></td>
</tr>
</table>
';
echo '</form>';
echo "\n";
}
}
echo
'<table width="100%" border="0">
<tr>
<td width="46%"> </td>
<td width="11%"> </td>
<td width="9%"> </td>
<td width="16%">Gesamtsumme:</td>
<td width="18%">'. $ges_summe .'€</td>
</tr>
</table>
';
} else {
echo 'Ihr Warenkorb ist noch leer!';
}
}
function add_item($id, $num) {
session_start();
//$id = $this->items[$id];
$_SESSION["cart"][$id] += $num;
//$this->items[$id] += $num;
}
function update_item($id, $num) {
session_start();
if($_SESSION["cart"][$id]) {
if($num > 0) {
$_SESSION["cart"][$id] = $num;
return true;
} else {
unset($_SESSION["cart"][$id]);
return false;
}
} else {
return false;
}
}
function del_item($id) {
session_start();
if($_SESSION["cart"][$id]) {
unset($_SESSION["cart"][$id]);
return true;
} else {
return false;
}
}
}
?>
Gehe ich recht in der Annahme, dass das nicht ganz dem Sinn von der Trennung von Design und Code entspricht? Ich meine die Ausgabe der Artikel in der show_cart() - Funktion ...
Ich weiß aber nicht wie ich das auf anderem Wege anstellen soll!?