我想在逗號分隔的MySql行中輸入多個值,並使用Codeigniter在下拉列表中顯示用戶。例如,一個潮溼的網站產品有不同的值,如產品(顏色:紅色,白色,藍色,橙色)這些不同的值存儲在一行中,並在下拉列表中向用戶顯示這些值。 我目前的列表顯示爲: 在mysql行中輸入多個值,用逗號分隔輸出,使用codeigniter逐個輸出
這裏是我的代碼: 型號
public function get_all()
{
$this->db->select()
->from('vendor_products')
->order_by(1,'DESC');
$data = $this->db->get();
$query = $data->result_array();
foreach ($query as $result) {
if ($result['color_values']) {
$result['color_values'] = explode(',' , $result['color_values']);
}
if ($result['size_values']) {
$result['size_values'] = explode(',',$result['size_values']);
}
}
return $query;
}
控制器
public function index()
{
$this->load->model('cartm');
$data['posts'] = $this->cartm->get_all();
$this->load->view('cart/index',$data);
}
查看:
<?php foreach($posts as $post) : ?>
<li>
<form method="post" action="<?=base_url();?>cart_test/add/">
<p><?=$post['pro_name'];?></p>
<img style="width: 100px;height: 100px" src="<?=base_url();?>uploads/<?=$post['prod_image'];?>">
<p>$<?=$post['prod_price'];?></p>
<?php if($post['color_values']) : ?>
<p>Color: <select>
<option><?=$post['color_values']?></option>
</select></p>
<?php endif; ?>
<?php if($post['size_values']) : ?>
<p>Size: <select>
<option><?=$post['size_values'];?></option>
</select></p>
<?php endif; ?>
</form>
</li>
<?php endforeach; ?>
在MySQL中值進行組合選擇使用CONCAT(VAL1,VAL2 ...),請查看文檔CONCAT_WS() –
產品選項來自哪裏?一張獨立的桌子? –