我面临一个艰难的条件,我知道它真的很难,但我没有条件解决它。
我想首先向你展示一些db结构
Table td_service
|-------------|---------------|---------------|
| service_id | service_title | pump |
|---------------------------------------------|
| 1 | Marine | 1,2 |
|---------------------------------------------|
| 2 | gas & Oil | 1,3 |
|---------------------------------------------|
Now table td_product
|-------------|---------------|---------------|
| product_id | product_title | category_id |
|---------------------------------------------|
| 1 | DB PUMP | 1 |
|---------------------------------------------|
| 2 | CG PUMP | 2 |
|---------------------------------------------|
| 3 | DH PUMP | 2 |
|---------------------------------------------|
and at last, the td_category table
|-------------|---------------|
| category_id | category_title|
|-----------------------------|
| 1 | Industry P |
|-----------------------------|
| 2 | Water Supply |
|-----------------------------|
| 3 | Extraction |
|-----------------------------|
现在表td_service中的列泵是一个字符串,其中包含用逗号分隔的泵的id。
现在,我可以从每个服务中获取泵的列表并像这样显示它们
$pump_list = $this->autoload_model->get_data_from_table("td_service","*","service_id = '$id'")->result_array();
$pump_list[0]['pump'] will have value 1,2
to list the pumps i can try explode operatipon on $pump_list[0]['pump']
$p_list = array();
$p_list = explode(",",$pump_list[0]['pump']);
foreach($p_list as $p)
{
$pump_info = $this->autoload_model->get_data_from_table("td_product","*","product_id = '$p'")->result_array();
echo $pump_info[0]['product_title'];
}
现在我想以这种方式显示泵名称
Industry P
-----------------------
DB PUMP, CG PUMP
当我搜索特定的服务ID ..
我不能以这种分组方式显示数据..
还有一件事,我一直被严格要求不要改变数据库结构。就像有些人可能建议制作另一张表显示服务和泵之间的关系,但我不能这样做因为我受到限制。