触发if/elseif时,PHP按钮停止工作

触发if/elseif时,PHP按钮停止工作,php,jquery,button,if-statement,Php,Jquery,Button,If Statement,我正在尝试回显一个按钮,以将默认div中的歌曲放入播放列表: <?php include('dbcon.php'); if(isset($_REQUEST['all']) && $_REQUEST['all'] != ''){ //===============================Button "ALL"====================================

我正在尝试回显一个按钮,以将默认div中的歌曲放入播放列表:

    <?php
        include('dbcon.php');
            if(isset($_REQUEST['all']) && $_REQUEST['all'] != ''){
                    //===============================Button "ALL"====================================
                    unset($_REQUEST['kw']);
                    unset($_REQUEST['genre']);

                    $query = "select * from music";
                    $result = mysqli_query($link, $query) or die (mysqli_error());
                    echo "<ul>";
                    while($info = mysqli_fetch_array( $result )){
                        echo '<li><button type="button" class="addtoplaylist" action="../js/addtoplaylist.js">Add to playlist!</button> '.$info['artist'].' - '.$info['title'].' ('.$info['album'].') '.'<hr /></li>';
                    };
                    echo "</ul>";
                }elseif (isset($_REQUEST['kw']) && $_REQUEST['kw'] != ''){
                    //============================= Search for music ================================
                    $kws = $_REQUEST['kw'];
                    $kws = mysqli_real_escape_string($link, $kws);

                    $query = "select * from music where title like '%".$kws."%' or artist like '%".$kws."%'";
                    $result = mysqli_query($link, $query) or die (mysqli_error($link));
                    echo "<ul>";
                    while($info = mysqli_fetch_array( $result )){
                        echo '<li><button type="button" class="addtoplaylist" action="../js/addtoplaylist.js">Add to playlist!</button> '.$info['artist'].' - '.$info['title'].' ('.$info['album'].') '.'<hr /></li>';
                    };
                    echo "</ul>";
                }elseif(isset($_REQUEST['genre']) && $_REQUEST['genre'] != ''){
                    //=====================================Browse By Genre ===========================================
                    $genre = $_REQUEST['genre'];
                    $genre = mysqli_real_escape_string($link, $genre);
                    $gquery = "select music_id from musicgenre where genre_id = '$genre'";
                    $results = mysqli_query($link, $gquery) or die (mysqli_error($link));
                    $music=array();
                    while($id_result = mysqli_fetch_array($results)){
                        $music[] = $id_result['music_id'];
                    };
                    foreach($music as $song){
                        $query = "select * from music where music_id = '$song'";
                        $result = mysqli_query($link, $query) or die (mysqli_error());;
                        echo "<ul>";
                        while($info = mysqli_fetch_array($result)){
                            echo '<li><button type="button" class="addtoplaylist" action="../js/addtoplaylist.js">Add to playlist!</button> '.$info['artist'].' - '.$info['title'].' ('.$info['album'].') '.'<hr /></li>';
                        };
                        echo "</ul>";
                    };
                }else{
                // ================================ Default =========================================

                    $query = "select * from music";
                    $result = mysqli_query($link, $query) or die (mysqli_error());
                    echo "<ul>";
                    while($info = mysqli_fetch_array( $result )){
                        echo '<li><button type="button" class="addtoplaylist" action="../js/addtoplaylist.js">Add to playlist!</button> '.$info['artist'].' - '.$info['title'].' ('.$info['album'].') '.'<hr /></li>';
                    };
                    echo "</ul>";
            };

?>
事情是这样的。当我第一次加载页面时,比如写url并按enter键,一切都正常,所有的按钮都正常,但只要我单击一个类别或任何其他触发if/elseif/else语句的东西,我的按钮就停止工作


有人能帮我了解一下问题所在吗?我以前在分页时遇到过这个问题,最后删除了整个代码,因为我似乎找不到答案。在分页代码中,当我点击触发开关的任何东西时,我的按钮消失了。我得到了它应该得到的所有结果,所以这部分工作得很好,但这个按钮的东西让我发疯。我想尽了一切办法

如果以错误的方式使用switch语句,请使用if-elseif语句:

if (isset($_REQUEST['all']) && $_REQUEST['all'] != '') {
    //Stuff
} elseif (isset($_REQUEST['kw']) && $_REQUEST['kw'] != '') {
    //Stuff
} elseif ....
switch语句检查变量是否等于值:

$name = 'Alberto';
switch($name) {
  case 'Alberto':
     //We're here now
     break;
  case 'John':
     //Nothing to do here for the moment
     break;
  default:
     //Stuff for every values of $name that are different from 'Alberto' or 'John'
 }

因此,您需要更改代码逻辑以使用它。问题是我的结果是由ajax生成的,所以我只需复制jquery部分并将其添加到成功函数中的ajax中。

我也尝试过,这是我的第一选择,但同样的情况也发生了。在哪里实现@playlist div?playlist div位于同一页面上,如我所说,如果是默认值,在单击任何内容触发开关或if/elseif语句之前,它会正常工作。我还添加了html部分:
$name = 'Alberto';
switch($name) {
  case 'Alberto':
     //We're here now
     break;
  case 'John':
     //Nothing to do here for the moment
     break;
  default:
     //Stuff for every values of $name that are different from 'Alberto' or 'John'
 }