サイズ、色、味、素材、スタイルの 5 つの異なるオプションを製品に設定できるオンライン ショップの cms を構築しています。赤のサイズ 8、青のサイズ 8、赤のサイズ 9 ストライプなど、可能なオプションごとに個別のレコードを保持する必要がある在庫管理レコードのフィールドを生成するコードを作成する必要があります。現在のデータベース構造は次のとおりです。
製品
製品番号
価格、名前、説明などの一般的な値
製品の属性
属性 ID
属性グループ ID
属性名
製品在庫管理
ストックID
製品番号
属性 1 ID
属性 2 ID
属性 3 ID
属性 4 ID
属性 5 ID
在庫量
codeigniter と php を使用して、これをコーディングする最良の方法は何ですか?
編集
これは私が現在試しているコードですが、1233 行のコードよりも優れた方法があるに違いありません。
public function genStockRecords($id)
{
$this->db->select("ps_name");
$query = $this->db->get("product_selects");
$selectList = $query->result();
foreach($selectList as $select)
{
$selectName = $select->ps_name;
echo $selectName." - ";
$$selectName = array();
}
unset($selectList);
foreach($_SESSION['options'] as $option)
{
$option = explode("|", $option);
${$option[0]}[] = $option[1];
}
if(!empty($Size))
{
foreach($Size as $sizeValue)
{
$data['psc_opt_1'] = $sizeValue;
if(!empty($Colour))
{
foreach($Colour as $colourValue)
{
$data['psc_opt_2'] = $colourValue;
if(!empty($Flavour))
{
foreach($Flavour as $flavourValue)
{
$data['psc_opt_3'] = $flavourValue;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
else
{
$data['psc_opt_3'] = null;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
}
else
{
$data['psc_opt_2'] = null;
if(!empty($Flavour))
{
foreach($Flavour as $flavourValue)
{
$data['psc_opt_3'] = $flavourValue;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
else
{
$data['psc_opt_3'] = null;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
}
}
else
{
$data['psc_opt_1'] = null;
if(!empty($Colour))
{
foreach($Colour as $colourValue)
{
$data['psc_opt_2'] = $colourValue;
if(!empty($Flavour))
{
foreach($Flavour as $flavourValue)
{
$data['psc_opt_3'] = $flavourValue;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
else
{
$data['psc_opt_3'] = null;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
}
else
{
$data['psc_opt_2'] = null;
if(!empty($Flavour))
{
foreach($Flavour as $flavourValue)
{
$data['psc_opt_3'] = $flavourValue;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
else
{
$data['psc_opt_3'] = null;
if(!empty($Material))
{
foreach($Material as $materialValue)
{
$data['psc_opt_4'] = $materialValue;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
else
{
$data['psc_opt_4'] = null;
if(!empty($Style))
{
foreach($style as $styleValue)
{
$data['psc_opt_5'] = $styleValue;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
else
{
$data['psc_opt_5'] = null;
$this->db->select("psc_id");
$this->db->where("psc_prod_id", $id);
foreach($data as $field => $value)
{
$this->db->where($field, $value);
}
$query = $this->db->get("product_stock_control", 1);
if($query->num_rows == 0)
{
$data["psc_prod_id"] = $id;
$this->db->insert("product_stock_control", $data);
}
}
}
}
}
}
}