我有一个我写的多客户端级PHP应用程序。这个应用程序有许多数据库对象,就像任何其他PHP应用程序但由于它是一个多客户端级别的应用程序,每次我们登上新客户端时,我都有不同的客户端要求。有几个共同对象(也称为帐户)承载大部分客户信息。但最重要的是,每次我想向数据库添加新客户端时,这个新客户端都需要添加帐户数据库中的新列,因为它们将具有一些唯一数据。有标准的必需数据(即。account_name,status ......),但有些数据是唯一的,并根据客户业务类型标记为不同。
目前,我需要做的是满足要求
编辑PHP脚本,我在其中显示帐户信息并显示字段的内容,如此
如果(空($行[' new_filed']!)) echo'单个客户所需字段:' 。 $行[' new_filed'];
如果该字段是可编辑的,那么我必须在编辑/添加表单中添加规则,以便在保存之前进行数据验证检查。
我正在尝试构建一个可以自动为我做的前端工具。这样我就可以拥有一个管理员"而不是一个程序员"转到前端工具并添加一个新字段,该字段将显示在所选页面的选定部分中。
从前端工具我希望能够添加一个名为" brand_c"的自定义字段。并使其成为varchar(100)类型。然后在名为" account_info.php"的页面上在名为"其他"使用标签" Brand"显示此字段只有当客户=' XYZ'所以,如果数据属于客户' ABC'不显示数据,因为此列仅适用于' XYZ'。
我知道这是一个广泛的问题,但我正在寻找的是如何构建这样的东西的任何帮助(从这开始?)。这是大多数大型CRM所做的事情,即。 Microsoft CRM Dynamic,Salesforce.com ......)拥有它。我该如何设计这样的东西?
谢谢
答案 0 :(得分:1)
您需要做的第一步是正确设计表,因此基本上您需要知道如何设计表以支持动态字段,并且该字段将能够验证/处理此类数据。
我对我的应用程序(在应用程序的管理员中可以配置UI字段的动态应用程序)所做的是将配置保存在数据库中,每次有事务时,页面将获取所选票据的配置和它将生成必填字段。并且在提交表单时,应用程序将再次获取配置并根据client_field中的设置进行验证
帐户表*包含帐户
等信息客户表
您可以根据需要为客户端添加不同的列,但请确保不要在此表中添加所需的UI字段,而是创建如下表格
client_field表//将包含可以定义/配置的表
您可以添加其他列,但需要确保它不流畅且不冗余。
让我们说,你有field_type下拉列表,你需要创建另一个表,让我们调用它
field_dropdown
如果是这种情况,您可能想知道如何保存数据,数据必须保存在另一个表中,我们可以调用它
client_information
这样,当您保存新客户端时,client_field中的每个字段都会在client_information表中添加一个新行以及用户插入的值
设计此类应用程序时的挑战是:此设计的 PROS 是:
我不是说这是必须做的,但这是我关于如何开发需要动态数据字段的应用程序的建议,而且从我开发的应用程序的经验到目前为止,只要设计得很好,它确实运行良好并且发展了。
答案 1 :(得分:0)
您可以创建一个新表,例如extra_data
,account_id
和{data_label
,而不是将其他字段作为新列添加到您的帐户表中{1}}。这样,您可以将每个帐户的额外数据保存到该表中,并在account_info.php中获取。