我试图找出使用 PHP 在(有点)特定场景下跨两个页面(页面 A 到页面 B)传递数据的最佳方法:
页面 A:带有标题的图片库。要创建此页面,需要在 PHP 文件中对包含图像 ID、图像位置和图像标题的图像表进行数据库调用。它获取表中存在的所有图像,并使用 for 循环将它们全部回显到屏幕上。它在指向页面 B 的每个图像的锚标记上创建一个 href。
B 页:图片的大图。当用户单击页面 A 上的图像时,它会将他们带到具有更大图像视图的新页面。
为了实现这一点,我目前在每个包含页面 A 中图像的锚点上放置一个 href,并带有一个包含图像 id 的参数。然后,在页面 B 上,我使用传入的 id 进行另一个数据库调用,以再次获取图像标题、位置等。
当我已经在上一页检索到所有需要的数据时,再次调用数据库对我来说似乎是错误的。在我看来,只有三个体面的选择对我来说似乎都很糟糕:
多个数据库查询- 如上所述。似乎效率低下。
GET - 不仅仅是在页面 A 的 href 中包含图像 id,而是在 href 中包含所有需要的参数。请注意,我实际上不止三个参数,可能需要传递超过 15 个值。拥有如此庞大的 url 并在 url 中传递诸如图像位置之类的东西似乎是错误的。
POST - 在页面上为每个图像创建一个表单,方法为
POST
. 在表单中为需要传递表单的每个参数放置一个隐藏Page A
字段Page B
。再一次,这对我来说似乎是一个非常糟糕的主意,拥有大量不必要的标记并且会变得非常混乱。
有没有人对这些方法有任何意见,或者有更好的主意?随着我的开发越来越多,我发现自己质疑效率,以及为什么要进行如此多的数据库调用一遍又一遍地做同样的事情是没有意义的。我希望能够对一张图像进行一次数据库调用,然后再也不必为该会话再次调用。
(请注意,这JavaScript / jQuery
是我的一个选项)
谢谢!