[英]Best design of tables in database for dynamic dropdown jQuery
我有一个案例,可以使用基于MySQL Table动态的下拉列表在Web上创建页面。 我正在使用codeigniter PHP进行开发。 我有这样一个表的原型:
TABLE PRINTER TONER
-------------------------------------------------------------------------
| ID PRINTER | BRAND | TYPE | TONER | STOCK |
-------------------------------------------------------------------------
| 1 | HP Laserjet | 3030, 1020, 3055 | 12A | |
| | | 1200 | 15A | |
| | | P1106 | 35A | |
| | | PIXMAX | 328 | |
| | | 1160, 1320 | 49A | |
| | | 2015D | 53A | |
| | | P1102, PRO1102W | CE285A | |
-------------------------------------------------------------------------
TABLE PRINTER INK
--------------------------------------------------------------------------------------------
| ID PRINTER | BRAND | TYPE | COLOR | BLACK | STOCK COLOR | STOCK BLACK |
-------------------------------------------------------------------------------------------
| 2 | HP DESKJET | F2410 | HP703 | HP60 | | |
| | | 810C | HP49 | HP20 | | |
| | | 1220C | HP78 | HP45 | | |
| | | 840C | HP17 | HP15 | | |
--------------------------------------------------------------------------------------------
我应该为一种类型一一创建ID_PRINTER吗? 我想在我的html中创建这样的内容:
<div class="control-group">
<label class="control-label" for="selectError">Merk Printer :</label>
<div class="controls">
<select id="selectError" data-rel="chosen">
<option>Brother Inject</option>
<option>Canon</option>
<option>Epson Dot Matrik</option>
<option>Epson Deskjet Inject</option>
<option>HP Laserjet</option>
<option>HP Deskjet</option>
<option>HP Office Jet</option>
<option>Konica Minolta</option>
<option>Panasonic</option>
</select>
</div>
</div>
下拉列表的顶部将是基于数据库的创建层次结构下拉列表?
您应该对数据库进行规范化以减少冗余和减小大小。 请为此阅读这篇Wikipedia文章 。
对于您的情况,您必须执行以下步骤:1.将表Printer Toner
分成几个表,如下所示:
打印机品牌
---------------------
| id | brandname |
---------------------
| 1 | HP Laserjet |
| 2 | HP Colorjet |
...
打印机类型
------------------------------------
| id | brand_id | type | toner_id |
------------------------------------
| 1 | 1 | 3030 | 1 |
| 2 | 1 | 1020 | 1 |
...
碳粉类型
----------------------------
| id | toner_type | stock |
----------------------------
| 1 | 12A | 23 |
| 2 | 15A | 12 |
...
您可以对墨水打印机执行类似的操作。 现在,您可以相对于彼此设置表并查询它们, 请参见MySQL Select 。 这样您就可以创建打印机列表,品牌列表或其他内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.