2014-03-03 88 views
0

試圖在我的PHP網站上列出一個視頻系列,儘管我有3個系列,而不是創建3個不同的網頁,有沒有一種方法可以在1頁的底部包含3個按鈕,例如:PHP在同一頁面上使用按鈕顯示不同的信息?

(系列1)(系列2)(系列3)

系列1已經在下面列出,但是當用戶點擊系列2或系列3而不是更改網頁時,它會在下面列出所選系列系列1?

我在想這可能與「INCLUDE:」代碼有關?但對這個東西來說很新鮮?謝謝!

P.S:儘量保持簡單,越容易越好。

回答

1

您可以使用鏈接將數據傳遞到URL中,然後捕獲$ _GET數組中的選項。顯然,thispage.php需要更改,如果你真的想要按鈕,可以更改一些html。但這裏有一個想法:

echo ' 
    <a href="thispage.php?series=1">SERIES 1</a> 
    <a href="thispage.php?series=2">SERIES 2</a> 
    <a href="thispage.php?series=3">SERIES 3</a> 
'; 

if (isset($_GET['series'])) { 
    $series = $_GET['series']; 
} else {//if there is no choice, display series 1 
    $series = 1; 
} 

switch($series) { 
    case 1: 
     //display series 1 
     //e.g. echo... 
    break; 

    case 2: 
     //display series 1 
    break; 

    case 3: 
     //display series 1 
    break; 

    default: 
    break; 
} 
+0

這看起來像這樣做的最簡單的方法,我輸入的代碼到我的網頁,雖然,它顯示的第一個系列,但是當我點擊其他鏈接,它需要我直接到頁面頂部,並沒有改變? – AidanPT

+0

我在那裏移動得太快了 - 應該是$ _GET數組。回答編輯。 – larsAnders

+0

太棒了!謝謝! – AidanPT

0

最簡單的方法是將所有視頻渲染到「x」div中;每個都有唯一的ID。然後使用JavaScript顯示/隱藏無論哪個系列被點擊。沿着這些路線的東西:

<button id="one" class="videoSeries" value="ViewSeries One" /> 
<button id="two" class="videoSeries" value="View Series Two" /> 


<div class="videoContainer" id="videoSeriesOne"> 
    <ul> 
    <?php 
     $videos = get_videos(seriesOne); // Get all videos for a given series. 
     for($i=0; i<$videos.length; i++;) { // Loop through videos & create the links 
      echo'<li><a href="'.$video[i]['video_href'}.'">'.$video[i]['video_title'].'<a></li>'; 
     } 
    ?> 
    </ul> 
</div> 

<div class="videoContainer" id="videoSeriesTwo"> 
    <ul> 
    <?php 
     $videos = get_videos(seriesOne); // Get all videos for a given series. 
     for($i=0; i<$videos.length; i++;) { // Loop through videos & create the links 
      echo'<li><a href="'.$video[i]['video_href'}.'">'.$video[i]['video_title'].'<a></li>'; 
     } 
    ?> 
    </ul> 
</div> 

... and so on 

您的JavaScript看起來像這樣(使用jQuery):

$('.videoSeries').on('click', function(event) { 
    var seriesToShow = $(this).attr('id').val(); 
    $('.videoContainer').hide(); 
    switch(seriesToShow) { 
    case 'one': 
    $('#videoSeriesOne').show(); 
    break; 
    } 
} 

這是到目前爲止沒有這樣做的最有效的方式,但它是非常簡單的&直前鋒。您可能需要稍微調整一下這些方法,但這應該會讓您繼續。

相關問題