2010-09-12 71 views
1

我正在构建将为用户保存数据的网站的前端。数据类型为n ame, email, ethnicity, income, pets etc etc.每个人都可以有一个伴侣(具有相同的问题)和无限数量的子女(names, dob, gender etc)。用户可以注册,然后必须能够在将来登录以在必要时更新其详细信息。处理大量数据

我遇到的问题是事情变得非常混乱。这一切都始于验证循环来检查有多少孩子,然后添加然后重新显示并设置验证器,如果有错误。插入所有数据很容易,但我的insert_user函数目前有30个参数。

一切都变得烦人和沮丧。有没有一种确定的方式来处理这样的数据?我认为推动或教义可能会有所帮助,而且我已经与PEAR的HTML_QuickForm玩得很成功(它不能处理像“选择你的种族”和“其他”或无限的孩子​​的输入)

我确定我不是第一个遇到这种麻烦,所以别人做什么?

+0

您使用的是面向对象吗? – 2010-09-12 23:04:00

+0

我已经写了一些用于验证的类和帮助程序来使这个可重用和简单,但我没有做任何超越OOP的事情。为所有事情编写课程似乎对于如此之小的东西有点矫枉过正。 – Richard 2010-09-13 00:23:47

+0

尽我们最大的尊重,我不认为“每个人都有......无数的孩子”是不对的。虽然,如果它*是真实的,那么也肯定这样的人会立即**得到他们自己的真人秀节目。 – 2010-11-04 18:55:41

回答

0

当我处理这样的事情时,我开始尝试想出一个很好的模型,使其更简单。

例如,如果你有服务器功能,在php,那么你可以使用ajax电话,在javascript处理与显示,所以,你必须分开考虑,这样你就可以专注于具有每边做它最好。

如果你想保留所有东西在php,只是使用表单提交,那么再分开两部分,以便处理显示的代码部分与处理数据库的api分开。

这基本上只是一个MVC结构。

这将是最好的开始方法,是回到设计阶段,决定要使用哪种语言,并将工作分开。无论哪种方式,您最终都会编写一个API来访问数据库,并且控制器代码(处理获取请求并显示它们)不关心哪种类型的数据库,如果有数据库或任何这些数据库细节,它希望为特定人员获得孩子,以便向API发出请求并返回一个数组。

+0

那么,如果我要使用MVC结构,我想我会更好地使用Symfony/ZF/CodeIgnighter或其他东西,而不是重新发明轮子。我只是觉得给它这么多散装。本质上它只是用户注册,登录和编辑他们的帐户。我喜欢使用ajax的想法,尽管我可能不得不用PHP代码作为后备代码 – Richard 2010-09-13 00:25:13

+0

@Richard - 如果你不需要整个框架,只需编写代码,就像在这个过程中你学习如何做它,你可以确保它做到你所需要的。你是对的,尽管你应该有一个后备的情况下,它关闭了JavaScript。 – 2010-09-13 01:01:56