2013-10-07 47 views
-1

我甚至100%知道如何問這個問題,但我會盡我最大的一個PHP的網站...創建基於一個用戶頁面點擊

因此,採取的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

hm它似乎是一個正常的 bksi

+2

你可能想拿起一本關於在你的本地圖書館的PHP編程的書。通過這些例子。這將在分析事情如何工作時帶來好處。 – NotMe

+0

目前尚不清楚你想要什麼。你只是想了解它是如何工作的(YouTube的例子和任何其他類似的網站),或者你想知道如何使自己的網站具有類似的功能? – DiegoDD

回答

1

讓我用一個非常籠統,過於簡單的例子

真正回答,不止有一個獨特的「$ VAR」改變你點擊一個視頻的每一次(在你的例子),它更像頁面已經知道每個鏈接(或點擊)的去向,也就是說,每個視頻都已經有一個鏈接與相應的url相關聯。

所有這些都是在頁面加載之前完成的。 (有辦法做到這一點,但那是另一回事)。

只給一個簡單的例子(它可能不是YouTube的是如何工作的,這只是一個例子)

比方說你存儲每個視頻名稱,描述,等級,等上一個數據庫表。

例如

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

還假設每部影片存儲冥冥中早已相關視頻(這將顯示在右側的視頻)(想象他們是在同一個表中,有自己的「相關視頻」每個視頻相關聯。

因此,當通過PHP(在這種情況下)將頁面放在一起時,代碼所做的就是從數據庫中讀取數據,以便知道它將「繪畫」的內容,此時它將存儲這些數據在變量中,並使用這些變體,它已準備好使用這樣的數據來構建頁面。

想象你說「我需要5個視頻在這裏,那些視頻是這個,這其他....等「 所以PHP將讀取這5個視頻信息形式的數據庫,並知道他們的數據,它已經」知道「每個視頻的具體網址將是什麼。

它只需構建每個視頻的鏈接,每個視頻都有它的特定網址。

例如

[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頁面或任何東西,所以我們可以給你更好的建議。

玩得開心!

+0

現在更清晰了。我真的很喜歡你的答案有多徹底。我非常感謝所有的幫助,朋友。在未來的問題中,我會確保以我的理解更好地解釋。 – Kashire

+0

不用客氣,只要確定一下你想要什麼或者需要什麼就可以了,而且如果你提到你已經知道或者嘗試過的東西,這也會有所幫助。例如,你可能已經知道HTML,JavaScript甚至是基本的PHP,但是由於你沒有提到它,我們可以猜測。我建議嘗試一個PHP教程,這樣你就可以理解動態頁面的概念,這正是你所需要的。祝你好運!並隨時提出任何疑問,那就是SO的目的,(它對我有很大的幫助!)只是試着總是具體而明確的= P。 – DiegoDD

2

YouTube的工作方式是使用$_GET變量。這就是?v=。它將採用v變量並檢查數據庫中是否包含具有該視頻ID的視頻。他們創建新頁面的方式是獲取與URL中傳遞的id相對應的每個值,然後將這些數據放入每個頁面部分。

+0

太棒了。我將如何去複製這樣的東西?我理解它,只是不知道如何去做。我想我的問題是: 如何創建一個全局變量,每個用戶單擊更改,同時使用$ _GET? URL/watchVideo.php?v = URL – Kashire

+0

你不需要全局變量(不是PHP的,因爲一旦頁面加載就無法獲得php代碼),無論如何,如果你需要它們,你需要javascript變量改變頁面加載的一次。但對於任何需要「在那裏」的東西,你都會在PHP的一邊做。請詳細閱讀我的回答 – DiegoDD

+0

@DiegoDD你做了一個非常全面的答案,做得很好。我試圖用能夠解決問題的方式來回答他的問題,而不是他想要的方式。我的解決方案可以用於他所想的內容(據我所知),所以我會放棄它。 –

相關問題