【问题标题】:mySQL table relations or just use one table?! Need Help php mysqlmySQL 表关系还是只使用一张表?!需要帮助 php mysql
【发布时间】:2010-10-14 14:17:14
【问题描述】:

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

表格的第一种方式是:

  • CourseTbl 包含(CourseID* 和 CourseName)
  • DateTbl、(DateID* 和 DatesOffered(作为 varchar 输入,不确定如何显示两天跨度的日期)
  • Lo​​cationTbl(LocationID*,LocationName)

我想我可以尝试连接每个 ID,但我意识到无法连接它们,因为它们有些重复日期,有些是同一天提供的。

我也有一张表,它把所有这些都列在一起。

TableSelect(ID*、CourseName、DatesOffered、LocationName*)

如果我想将其设置为下拉选择,我是否必须创建一个子 ID 和 INNER Join?将 XML 与 PHP 一起使用?我一直在问自己,如何正确输入信息并查询?

如何最好地解决这个问题?任何帮助都会很棒,感谢您的宝贵时间!

【问题讨论】:

    标签: php mysql database-design database-connection mysql-management


    【解决方案1】:

    将所有这些数据存储在一个表中可能对您有利。我说这是因为您的查询会不那么激烈(您不会加入多个表),然后只从一个表中进行选择,如果您正确构建数据,您可以完全按照原样使用输出来填充您的下拉列表盒子。

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

    我发现,如果您的数据库结构是正确的,并且您根据需要为您的 php 脚本提供数据,那么您的网站具有惊人的可扩展性。我的意思是在 3 个表上使用单个选择而不是内部连接是有意义的吗?

    您还可以使用一组 ID 而没有外键等以保持数据完整性。如果我正确地阅读了您的解释,那么我会看到数据彼此完全相关,并且总是可以将相同的数据分组在一起。

    【讨论】:

    • 太棒了,谢谢,我想这就是我要处理它的方式。你知道如果日期实际上是文本,那么在导出和使用 Paypal 时会出现问题吗?
    • 将日期存储为 Unix 时间戳以避免日期字段问题。您可以随时格式化 Unix 时间戳,而且它的速度更快,因为它是整数。
    • 有谁知道我如何能够从下拉列表中获取数据并将它们发送到贝宝付款
    • 当你提交表单时,它作为 POST 请求发送。
    • 是标准贝宝还是预付款?
    猜你喜欢
    • 2020-03-25
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2012-11-28
    • 2011-12-06
    相关资源
    最近更新 更多