這是一個腦筋急轉彎,我一直在想如何做一段時間。不確定標題是否足夠,但這是我能做的最好的。從mysql獲取數據取決於用戶做了什麼
我在我目前正在開發的網站中有一個集中的音頻播放系統。通過集中,我意味着網站上的所有內容都通過它進行播放,因此只能一次播放一首曲目,並且還可以連續播放。
在我詳細介紹球員之前,我應該解釋部分網站。該網站爲音樂家提供音樂和其他東西。這些音樂家被用戶投票在網站上。投票用戶將點擊投票,聽聽曲目並點擊喜歡或不喜歡,簡單!一旦軌道足夠喜歡軌道的創建者將成爲該網站的一部分,並將能夠上傳更多軌道到那裏配置文件以及其他東西。這應該解釋網站的這一部分是關於什麼的,所以我可以詳細介紹這些球員。
有兩個玩家,一個在工具欄中,另一個在第一個可以有幾個像soundcloud的玩家。所有東西都鏈接在一起,所以如果在播放器上播放曲目,它會在工具欄播放器中播放,反之亦然。
音頻播放器是用jQuery構建的。
用戶還可以通過3件事來觸發音頻播放;
- 播放顯示在工具欄播放器中的最新曲目。
- 在頁面播放器中播放曲目。
- 點擊投票並聽取隨機曲目進行投票。
現在我遇到的問題是與MySQL查詢以及如何選擇它們。因爲用戶可以發送的3個觸發器中的每一個都需要不同的mysql查詢,所以我需要考慮爲每個觸發器選擇查詢的方法。
在下面的查詢中,我省略了變量和基於所選軌道獲取有關藝術家信息的查詢。
Query for 1(toolbar player);
$fetchtrack = mysql_query("SELECT * FROM tracks ORDER BY timestamp DESC LIMIT 1");
$track = mysql_fetch_array($fetchurl);
$url = $track['url'];
查詢2(在頁面播放器)
$fetchtrack = mysql_query("SELECT * FROM tracks WHERE track_ID = Variable for the selected track");
$track = mysql_fetch_array($fetchurl);
$url = $track['url'];
查詢3(投票)
//Set up artist query so no artists are shown and cannot be voted on
$findartist = mysql_query("SELECT * FROM artists");
$artist = mysql_fetch_array($findartist);
$artist = $artist['name'];
//Set up vote query so that you are not shown a track you have already voted on
$findvoted = mysql_query ("SELECT * FROM votes WHERE ID = '$user_ID'");
$voted = mysql_fetch_array($findvoted);
$votedID = $voted['track_ID'];
//Query tracks with relevent information
$fetchtrack = mysql_query("SELECT * FROM tracks WHERE ID != '$user_ID' AND track_ID != '$votedID' LIMIT 1");
$track = mysql_fetch_array($fetchtrack);
$url = $track['url'];
哦,只是這樣它可以幫助你得到的圖片投票系統,工具欄播放器和頁面播放器都在單獨的文件中,並全部鏈接到jQuery的單個js文件。 $ url變量作爲var放入jQuery中。
我該如何選擇正確的查詢來發生正確的事情?或者至少選擇正確的查詢結果?
我很抱歉,這個問題有點長,但我需要解釋幾乎每一個細節。
它可能無助於回答你的問題,但你應該停止使用'mysql_ *'函數。他們正在被棄用。請使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果你不確定使用哪一個,[閱讀本文](http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/)。 – Matt 2012-08-15 20:59:35
你的意思是使用'$ _GET'變量,還是調用不同的頁面? – 2012-08-15 21:00:06
是的,我知道,我正在改變,但我有一些其他人在這個項目上工作,我們都需要了解他們。 – 2012-08-15 21:00:37