如何根据屏幕尺寸从数据库获取数据

How to get data from database depending on the screen size?

本文关键字:数据库 获取 数据 何根 屏幕      更新时间:2023-09-26

我需要创建一个响应式信息滑块,对于每张幻灯片,根据屏幕的大小,会有不同的信息,但据我所知 - PHP 和 MySQL 都不允许我根据屏幕尺寸选择数据,那么我怎么能做到这一点呢?

我尝试使用 JavaScript,但到目前为止并没有取得太大的成功,我的想法是我可以使用 JS 来检测屏幕大小,并且不以某种方式将该信息发送到 PHP,然后可以相应地调整滑块,但你能给我看一段代码关于如何做到这一点,请?

编辑:我需要它与此结合使用:如何使用 php 将数组分成几部分(不使用多维数组)?

因此,滑块的工作原理如下:

<ul>
  <li>content for slide 1</li>
  <li>content for slide 2</li>
  <li>content for slide 3</li>
</ul>

而且我不能使用 jquery 来隐藏某些内容,它必须根据需要适合相应的幻灯片内容。

正如所有评论所说,这是不可能的。

PHP 在服务器上执行。服务器不知道屏幕大小。有很多方法可以猜测它。

有一个WURFLTera-WURFL项目(http://wurfl.sourceforge.net/和 http://www.tera-wurfl.com/explore/),它们将用户代理与一个巨大的数据库进行比较,如果找到,则返回设备的屏幕尺寸。这当然仅适用于手机和平板电脑,不适用于笔记本电脑/台式机!

另一件事(我不建议你这样做!)是将屏幕大小存储在PHP会话或Cookie中,通过Javascript的AJAX调用进行更新。正如我所说,我强烈建议你不要这样做!

您可以构建一个Mobile First网站,这意味着它基本上加载移动格式所需的内容,并在页面加载后通过AJAX加载其他所有内容。你可以这样做,但这变得非常混乱,非常快。

我建议您从数据库中加载所需的所有数据(如果您担心速度,只需使用一些缓存,我在几个项目中使用此类:https://github.com/khoaofgod/phpfastcache/),并通过CSS中的媒体查询隐藏/显示它(https://css-tricks.com/css-media-queries/)或者只是一个Javascript来为不同的屏幕尺寸渲染不同的东西(AngularJS在 https://angularjs.org/中做得很好)

我通常使用 CSS 媒体查询方法与 PHP 端的一些缓存相结合。

关于数组的划分,我很确定你可以用一些CSS魔术来做到这一点! 看看:nth-child https://css-tricks.com/how-nth-child-works/

希望这有帮助。

只需获取最大屏幕大小的数据,并使用CSS隐藏不应显示的数据。您可以使用媒体查询来解决这个问题。