-1

我什至不是 100% 确定如何提出这个问题,但我会尽力而为......

所以,上优酷吧。你有这个:

URL/watch?v=Video_URL_Here

在观看此视频时,您决定单击右侧相关视频中的视频。这样做时,页面会刷新,并立即跳转到该视频。

我有一个基本概念:

> Create a variable.
    $var;

> User: *Clicks First Video*
    $var = Video_One;  // Pulls from mySQL-DB

> Open a new page (ex: URL/watch?v=Video_ONE)
     PHP: >Creates a whole new page for the video.<

> User: *clicks new video*
    $var = Video_Two;

> Open a new page (ex: URL/watch?v=Video_TWO)
     PHP: >Working more magic.<

但是,我实际上很难做到这一点。

谁能指出我正确的方向或解释它是如何工作的?

将不胜感激。

4

3 回答 3

2

YouTube 的工作方式是使用$_GET变量。就是这样?v=。它接收v变量并检查数据库中具有该视频 ID 的视频。他们创建新页面的方式是获取与在 url 中传递的 id 对应的每个值,然后将该数据放入每个页面部分。

于 2013-10-07T23:48:20.200 回答
1

让我用一个非常笼统且过于简单的例子来回答

实际上,不仅有一个独特的“$var”,每次点击视频时都会改变(在你的例子中),它更像是页面已经知道每个链接(或点击)去哪里,也就是说,每个视频已经有一个与相应 url 关联的链接。

所有这些都是在页面加载之前完成的。(有办法做到这一点,但那是另一回事)。

只是举一个简单的例子(它可能不完全是 youtube 的工作方式,这只是一个例子)

假设您将每个视频的名称、描述、评级等存储在数据库表中。

例如

video1name, url1, description1, etc1
video2name, url2, description2, etc2
video3name, url3, description3, etc3

还假设每个视频已经在某处存储了相关视频(将显示在右侧的视频)(想象它们在同一个表中,每个视频都有自己的“相关视频”相关联。

因此,当通过 PHP(在这种情况下)将页面放在一起时,代码所做的是从数据库中读取数据,因此它将知道它将“绘制”什么,然后将这些数据存储在变量中,并使用这些变量,就可以使用这些数据构建页面了。

想象你说“我需要 5 个视频,这些视频是这个,另一个......等等”,所以 php 将从数据库中读取这 5 个视频信息,并且知道它们的数据,它已经“知道”具体的 url每个视频都会。

它只需要为每个视频建立链接,每个视频都有它的特定 url。

例如

[some html]
...
<a href="myvid1url" > ...</a>
<a href="myvid2url" > ...</a>
<a href="myvid2url" > ...</a>
...
[the rest of html]

php 唯一在做的事情是根据该数据动态创建 HTML,一旦完成,它就会将其发送到浏览器,浏览器只需“绘制”纯 html,所有这些都已经填充了特定的 url,每个部分的名称等。

这是一个非常笼统的例子,但我希望你明白这一点。

最重要的部分是要了解大多数时候,页面在显示之前已经“构建”,一旦加载,它们就已经“知道”当您单击某个地方时该做什么等。

当然,您可以使用 javascript、ajax 等添加交互功能,这可能会更改已加载的页面,但这是另一个概念。

我认为您应该首先告诉我们您的编程经验是什么,或者您是否只制作过简单的 htmls 页面或其他任何东西,这样我们才能给您更好的建议。

玩得开心!

于 2013-10-08T00:16:13.407 回答
0

您可以使用 JQuery 并在框架、iframe、div、表格、新窗口等中加载第二个视频(当然取决于数据源)

外部源(取决于) jQuery 将外部页面(跨域)加载到 Div 元素中

本地内容源 使用 jQuery 将 HTML 页面动态加载到 div 中

对于外部数据加载,您可以获得所有创意并运行 curl 以在本地保存数据,解析它以获得您需要的内容,然后在本地提供该数据

于 2013-10-08T00:53:42.140 回答