繁体   English   中英

动态下拉列表jQuery数据库中表的最佳设计

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM