2

我正在开发一个小型 PHP/Javascript 地图应用程序,它基本上只是从 MySQL 数据库表中提取一堆位置名称和坐标点并将它们添加到 HTML 画布中。它应该代表一个角色在正在进行的协作故事中访问的位置,所以我希望地图能够在任何给定时间检索角色在地图上的位置,并用不同的图标显示它。

最明显的解决方案——因为角色,就像地图位置一样,有一个名字和坐标——似乎只是将角色作为他们自己的行包含在位置表中,并且让地图代码识别他们的唯一信息和以不同的方式显示它们。但是由于角色本身并不是一个位置,因此将它们存储在“位置”表中似乎很奇怪。不过,仅为这一行创建一个全新的表“字符”似乎有点过头了。

所以我想我更一般的问题是 PHP/MySQL 处理这样的独特数据的好方法是什么,它与现有表相关但不够紧密。我是否将这些数据保存在文本文件中并使用 PHP 更新?

4

2 回答 2

1

拥有一个只有一行的表并没有什么特别“奇怪”的地方。事实上,使用数据库存储您的一些数据并使用文本文件存储其他数据可能会有点奇怪。

如果您出于任何原因需要该信息,拥有一张表格还可以让您随时间跟踪角色位置。(最好跟踪它而不使用它,而不是需要它而不一直跟踪它。)

如果字符的位置是在现场计算的并且不需要持久化,那么您可以简单地以编程方式将其添加到数据库的结果中,并且它对数据库和视图都是完全透明的。但如果它确实需要被持久化,一张表可能是要走的路。

于 2012-09-08T22:43:08.280 回答
0

您应该有一个单独的表来存放字符位置。. . 随着时间的推移。它将具有以下列:

  • 字符编号
  • 地点
  • 日期/时间戳

最终,您可能希望拥有多个可以随时间显示其位置的角色。你可能有非字符;在这种情况下,您需要更改表的名称。

位置和角色位置之间存在很大差异。位置是静态的,至少在定义后是这样。字符位置是时间相关的。他们是一个独立的实体,最好有自己的桌子。

于 2012-09-08T22:41:12.860 回答