这将是一个漫长的阅读,所以请多多包涵。我很擅长 PHP,但我在数据库设计方面的知识很差。我正在研究它,因为我意识到在使用应用程序时掌握设计数据库的命令是最重要的事情,如果你掌握了它,事情会变得如此简单。这个线程的开始也是因为我对数据库交互的了解不足。
我基本上有大约 40 种形式,其结构类似于下图:
列数和行数因一种形式而异,但它们或多或少遵循如上所示的类似结构。
我计划实现的目标
- 使用单个/相同的 php 页面来处理(即,将数据插入数据库)所有 40 个表单。换句话说,我打算
<form action="process.php">
对所有表格都使用相同的。 - 避免硬编码;尽可能保持代码
process.php
动态。
路障
- 每个表单中的参数数量各不相同,所以我需要想办法找出每个表单中存在的行数。
- 很难决定如何命名表单中使用的元素(单选按钮、复选框、下拉菜单、文本区域、文本框等)。
- 我在试图弄清楚如何进行插入时遇到了麻烦。一次插入一行似乎是合适的,但我将如何实现这一点?例如,如果我使用循环,
Ambiance
则应在第一次迭代中插入相关数据。在第二个循环中,TV Room
应该插入相关的数据,依此类推。问题是如何相应地编码?
我的想法
表单的列(参数、满足要求、观察、状态、备注)成为MySql表的字段。
然后使用循环在表中一次插入一行。
使用数组来命名表单中使用的元素。例如,ambiance[requirement], ambiance[observation], ambiance[status], ambiance[remarks] 用于第一行的元素,room[requirement], room[observation], room[status], room[remarks] 用于第一行的元素第二行以此类推。然后插入可以通过使用在一行中完成
INSERT INTO tablename (implode(',', array_keys($ambiance))) VALUES (implode(',', $ambiance))
这不是关于什么
要求提供/邮政编码。
Give me teh codez
不是我的经营方式。我只是在寻求有关如何执行该任务的说明。
这是关于什么的
征求建议。
确定我是否朝着正确的方向前进。
询问是否有其他方法。