我使用php构建一个网站,使用mysql数据库。
用户可以记录各种内容,并且应该能够从表中选择要记录的内容。但我无法找出最聪明的方法来做到这一点。
假设我有一个logging_types表,其中包含type_id,type_name。 默认情况下,用户无法记录任何内容。首先,他们必须进入设置,在这些设置中将显示logging_type和复选框,使用户能够选择他想要记录的内容。
在主表“Logs”中,每个记录类型都有一个字段。
在users表中,我还需要为每个日志记录类型设置一个字段,使用YES / NO或int可以让用户选择他想要记录的内容。
还有其他方法,避免日志和用户表中的所有这些字段?
答案 0 :(得分:1)
这个问题很难回答,好像你似乎知道你的意思,你没有真正提出太多问题。对于那些需要显示一些代码的SO来说,它也有点偏离主题。
尽管如此,这里还有几个唠叨:
用户讨厌必须勾选方框。
如果您希望您的用户爱你(以及您的网站),请尽量让它变得直观。整齐地放置表格,并允许用户单击并键入相应的框。
永远不要相信用户提供的数据。
如果您的数据将按照您的建议在数据库中使用,那么您需要确保数据清洁且安全。使用JS确保输入正确的数据类型,并确保正确使用PHP(使用预准备语句)在数据被接受之前对其进行清理。请记住,伪造输入以绕过任何客户端检查并不需要太多努力 - 永远不要信任用户数据。
大多数此类输入都是使用html SELECT实体完成的。提出了具有多种选项的组合框。可见:
在此处选择数据类型。在此处输入数据。
如果您有多种类型的数据,所有这些数据都需要相同数量的相同格式的数据。如果输入表单需要完全不同,它就会失败,尽管它可以完成,你只需隐藏或添加一些表单元素(隐藏那些你不需要BTW的东西要容易得多)
如果您只有3或4个不同的表格或表格,您还可以提供选项卡/文件夹视图。
为什么不看看其他人正在做什么,这与你想要达到的目标相似。如果你喜欢它,请弄清楚他们是如何做到并复制它的。这样做最不可能违反任何版权或专利。
问问自己系统使用起来有多简单,直观吗?我的用户会有一个讨厌的陡峭的学习曲线,还是只是轻松工作?它会与触摸屏设备和粗短的手指一起使用吗?我可以让它适应一个吗?
为什么不尝试另一个问题,但要具体。发布您正在处理的代码并解释它在哪里或哪些不起作用。多说而不是少说。相信我,你不会泄露任何秘密,它不会让一个超级极客在这里超过20秒的时间来锻炼!