PHP簡単ショッピングカート〜勉強記その1
ショッピング カート、学習、パート 1
テーブルの作成
wrox_shop_category 製品カテゴリ ID と名前
テーブル wrox_shop_category の作成 (
category_id integer unsigned not null auto_increment,
category_name varchar(100) not null,
主キー (category_id)
)
ENGINE= InnoDB デフォルト文字セット latinl
collate latinl_general_cs;
製品カテゴリ テーブル
wrox_shop_inventory
create table wrox_shop_inventory (
item_id integer unsigned not null auto_increment,
item_name varchar(100) not null,
item_description text default '',
price double(5,2) ) null ではありません、
item_image varchar(255) not null、
category_id integer unsigned not null、
主キー (item_id)、
外部キー (category_id)
references wrox_shop_category(category_id)
on delete cascade
)
engine = InnoDB デフォルト文字セット latinl
callate latinl_general_cs auto_increment=0;
これら 2 つのテーブルは、After InnoDB ストレージ エンジンを指定します。削除カスケードで引用してカテゴリーを削除すると、商品も自動的に削除されます。
コードファイル
ShoppingCartクラスの書き方、次にshop.phpとcartを書きます。 .php、その後、製品データベースと製品エントリ
ShoppingCart を生成するための管理ファイルが確立されます。これは、チェックアウトまで製品リストを維持する役割を果たします。
属性が含まれます:
contents、ショッピング カート内のすべてのアイテムを配列形式で返します
isEmpty、ショッピング カートが空かどうか
totalItems、さまざまな種類のアイテムの合計数items
totalQty ショッピング カート内のアイテムの総数
methods:
construct()
addItem(item[,qty])
qtyItem(item)
removeItem (item)
removeAll()
製品リスト。製品リストを保存するにはプライベート属性が必要です。製品が追加されるたびに、この属性が空の配列に初期化されます。商品IDのインデックスを保存するため? ? ?
class ShoppingCart
{
private $items;
public function _construct()
{
$this->items = array();
}
public function _get($value)
{
switch($value)
{
case 'contents':
return $this->items;
Break;
case 'isEmpty':
return (count($this->items) == 0 );
Break;
case 'totalItems ':
return (count($this->items));
Break;
case 'totalQty':
return array_sum($this->items);
Break;
}
}
public function addItem($item, $qty =1)
{
$this->items[$item] = $qty;
} //addItem 行番号はアイテムの ID を受け取り、その値を内部アイテム属性に割り当てます
public function qtyItem($item)
{
if ( !isset($this->items[$item])
{
return 0;
}
else
{
return $this->items[$item] ;//アイテムの数量を返しました
}
}
public function RemoveItem($item)
{
unset($this ->items[$item]) ;
}
public function RemoveAll()
{
$this->items = array();
}
}
?>