gpt4 book ai didi

php - MYSQL/PDO PHP系统---寻找大笔画输入

转载 作者:行者123 更新时间:2023-11-29 11:25:03 25 4
gpt4 key购买 nike

所以,我有一些初学者编程知识(基于网络的知识不多),但我已经设法弄清楚如何设置 MYSQL 数据库以及如何制作一个 PHP 文件来从测试中提取行我在数据库中制作了表。

我正在寻找一些输入或伪代码或一般指导,了解我需要采取哪些步骤来实现我的想法。

我知道我可能需要研究对我将收集的少数数据项的必要关系调用。

我我希望让我的志愿者工作变得更轻松。我在一个协调其他志愿者的地方做志愿者。我的工作是跟踪他们的认证(在物理文件箱中)——我正在使用别人的旧 Excel 表格。

我想向主任展示一种更有效的方式,让我们收集关键数据,然后轻松地与志愿者分享。

不存在隐私问题(我收集的数据都没有姓名或个人信息,只是这个特定志愿者是否拥有某种认证——我会将其与他们的志愿者编号关联起来,然后交叉-将其引用到我的物理文件)

所以,我想要建立一个PHP/MYSQL系统来实现这一点:

让用户登录(使用 Facebook 或 Gmail - 每个人都必须拥有其中之一才能使用)**这一点在现阶段最不重要,因为我只是想证明系统具有工作功能

通过 PHP 页面向用户颁发认证 list 。这基本上是他们登录时看到的全部内容。

让该用户检查他们拥有哪些,​​将其他留空。

保存这些值并使其保持不变。 (使用保存按钮或自动)

使 list 可以通过网络链接(由用户)共享;检查表由他们根据需要更新的值填充。

假设我想我需要两张 table ?

用于维护 list 值和相关 Logo 的表格:表1

enter image description here

我假设我的第二个表将用于跟踪用户

表 2

enter image description here

我认为表之间会有关系调用?

所以,如果这是一个太宽泛的问题,我理解。我只是在寻找解决这个问题的方法,不一定是过于详细的回应。只是我前进的一个框架。

最佳答案

您的数据库设计应满足两个标准:

  1. 任何信息都不会在任何地方不必要地重复
  2. 如果用户或认证被删除,包含该用户或认证的所有其他记录也应被删除

我有 3 个 InnoDB 表

users
id //perhaps volunteer id if they're unique. Primary key
login //email used to login
api_service //not sure about this; gmail or facebook perhaps?
password //IF you choose to implement login yourself, remove api_service
... //anything else describing the user (not certifications)
created //date account was added

certifications
id //unique identifier. Primary key
name //what is it called
... //anything else describing an individual certification

user_certs
id //unique identifier. Primary key
user //Foreign key to this table. Primary key from users table
cert //Foreign key to this table. Primary key from certifications table
issued_on // date the user received the certification
expires // date the cert will expire
...//anything else describing the binding such as who granted cert or
//what is cert ID number

整个登录机制不可能在一段时间内真正解决。我不熟悉 Facebook 或 Google 登录 API,所以我无法帮助您。抱歉。

一些示例查询:

显示一位用户的所有认证(给定他的志愿者 ID)

SELECT certifications.name, certifications.id 
FROM users
LEFT JOIN user_certs ON user_certs.user = user.id
LEFT JOIN certifications ON certifications.id = user_certs.cert
WHERE users.id = $volunteerID

查看具有给定认证名称的所有用户

SELECT users.id
FROM users
LEFT JOIN user_certs ON user_certs.user = user.id
LEFT JOIN certifications ON certifications.id = user_certs.cert
WHERE certifications.name = $certName

关于php - MYSQL/PDO PHP系统---寻找大笔画输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38367967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com