Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySQL表关系还是只使用一个表?!需要帮助php mysql吗_Php_Mysql_Database Design_Database Connection_Mysql Management - Fatal编程技术网

mySQL表关系还是只使用一个表?!需要帮助php mysql吗

mySQL表关系还是只使用一个表?!需要帮助php mysql吗,php,mysql,database-design,database-connection,mysql-management,Php,Mysql,Database Design,Database Connection,Mysql Management,我正在尝试使用PHP、MySQL和ajadx创建一个下拉选择选项我对PHP和ajax已经有了很大的了解,但是我对如何组织我的表感到困惑,我无法决定,所以我以两种方式创建了它: 表格的第一种方式是: CourseTbl包含(CourseID*,和CourseName) DateTbl,(DateID*和DatesOffered(输入为varchar,不确定如何执行date以显示两天跨度) LocationTbl(LocationID*,LocationName) 我想我可以尝试连接每个人的ID

我正在尝试使用PHP、MySQL和ajadx创建一个下拉选择选项我对PHP和ajax已经有了很大的了解,但是我对如何组织我的表感到困惑,我无法决定,所以我以两种方式创建了它:

表格的第一种方式是:

  • CourseTbl包含(CourseID*,和CourseName)
  • DateTbl,(DateID*和DatesOffered(输入为varchar,不确定如何执行date以显示两天跨度)
  • LocationTbl(LocationID*,LocationName)
我想我可以尝试连接每个人的ID,但意识到没有办法连接他们,因为他们有的重复日期,有的提供相同的日期

我还有一张表格,上面列出了所有这些

表选择(ID*、CourseName、提供的日期、位置名称*)

如果我想让它成为一个下拉选择,我是否必须创建一个子ID,该子ID将是内部连接?使用XML和PHP?我一直在问自己如何输入信息并正确查询它


解决这个问题的最佳方法是什么?任何帮助都会很好,谢谢您的时间!

将所有这些数据存储在一个表中可能会对您有所帮助。我之所以这么说,是因为您的查询不会太激烈(您没有加入多个表)仅从一个表中进行选择,然后,如果数据结构正确,则可以按原样使用输出来填充下拉框

要遵循的一种有趣的方法是,您尝试先考虑要完成什么,以及最终结果的外观和工作方式,然后设计数据库以适应这种结构

我发现如果你的数据库结构是正确的,并且你为你的php脚本提供它所需要的数据,那么你的站点是惊人的可伸缩的。我的意思是,在3个表上使用一个select而不是一个内部连接是有意义的,对吗


您还可以使用一组ID,不使用外键等来保持数据的完整性。如果我正确阅读了您的解释,那么我会发现数据之间完全相关,将相同的数据组合在一起总是很好的。

太棒了,谢谢,我想这就是我的方法"I’我会处理它。你知道如果日期实际上是文本,那么导出和使用Paypal会有问题吗?将日期存储为Unix时间戳以避免日期字段问题。你可以随时格式化Unix时间戳,因为它是整数,所以速度更快。有人知道我如何获取数据吗从下拉列表中选择a并将其发送到paypal for Payment当您提交表单时,它将作为POST请求发送。这是用于标准paypal还是用于预付款?