我甚至不确定如何提出这个问题,但我会尽我所能......
所以,请带上youtube。你有这个:
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.<
但是,我实际上很难做到这一点。
有人能指出我正确的方向或解释它是如何运作的吗?
非常感谢。
答案 0 :(得分:2)
YouTube的工作方式是使用$_GET
个变量。那就是?v=
。它接收v
变量并检查数据库中是否有包含该视频ID的视频。他们创建新页面的方式是获取与url中传递的id相对应的每个值,然后将这些数据放在每个页面部分中。
答案 1 :(得分:1)
让我回答一个非常笼统和简单的例子
实际上,除了每次点击视频时都会改变一个独特的“$ var”(在你的例子中),它更像是页面已经知道每个链接(或点击)的去向,即,每个视频已经有一个相关的链接,与相应的网址。
这一切都是在页面加载之前完成的。 (有很多方法可以实现,但这是另一回事。)
举一个简单的例子(可能不是youtube的工作原理,这只是一个例子)
让我们假设您将每个视频名称,描述,评级等存储在数据库表中。
e.g。
video1name, url1, description1, etc1
video2name, url2, description2, etc2
video3name, url3, description3, etc3
还假设每个视频已经存储在某个地方的相关视频(将显示在右侧的视频)(想象它们在同一个表格中,每个视频都有自己的“相关视频”关联。
所以,当把页面放在一起时,通过PHP(在这种情况下),代码所做的是,从数据库中读取数据,这样它就会知道它将“绘制”什么,此时它会存储这样的变量中的数据,并使用这些可变数据,可以使用这些数据构建页面。
想象一下你说“我需要5个视频,这些视频是这个,其他的......等等” 所以php将从数据库中读取这5个视频信息,并且知道他们的数据,它已经“知道”每个视频的具体网址是什么。
它只需要为每个视频构建链接,每个视频都有特定的URL。
e.g。
[some html]
...
<a href="myvid1url" > ...</a>
<a href="myvid2url" > ...</a>
<a href="myvid2url" > ...</a>
...
[the rest of html]
php正在做的唯一事情是,基于该数据动态创建HTML,一旦完成,它就会将其发送到浏览器,浏览器只需要“绘制”普通的html,所有这些都已经填满了每个部分的特定网址,名称等。
这是一个非常普遍的例子,但我希望你能得到这个想法。
最重要的部分是要了解大多数时候,页面在显示之前已经“构建”,一旦加载,他们已经“知道”当你点击某个地方时该做什么等等。
当然,您可以使用javascript,ajax等添加交互式功能,并且可以更改已加载的页面,但这是另一个概念。
我认为你应该首先告诉我们你对编程的体验是什么,或者你是否只是制作了简单的简单htmls页面,所以我们可以给你更好的建议。
玩得开心!
答案 2 :(得分:0)
您可以使用JQuery并在框架,iframe,div,表格,新窗口等中加载第二个视频(当然,取决于数据源)
外部来源(视情况而定) jQuery loading external page (cross domain) into Div element
本地内容来源 Load HTML page dynamically into div with jQuery
对于外部数据加载,您可以获得所有创意并运行卷曲以在本地保存数据,根据需要对其进行解析,然后在本地提供