PHP使用按钮在同一页面上显示不同的信息?

时间:2014-03-03 18:18:17

标签: php list video hyperlink series

尝试在我的PHP网站上列出一个视频系列,虽然我有3个系列,而不是创建3个不同的网页,我可以在1页的底部包含3个按钮,例如:

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

系列1已在下面列出,但是当用户点击系列2或系列3时,它会列出下面选择的系列而不是系列1而不是系列1?

我在想这可能与“INCLUDE:”代码有关?但这个东西真的很新鲜吗?谢谢!

P.S:试着保持简单,越容易,越好。

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

最简单的方法是将所有视频呈现在“x”div中;每个人都有一个唯一的ID。然后使用javascript show / hide点击哪个系列。这些方面的东西:

<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;
    } 
}

到目前为止,这不是最有效的方法,但它非常简单&amp;直截了当。你可能需要稍微调整一下这些方法,但这应该可以帮到你。