$wpdb->get_results()作为数组的数组



我正在添加一个辅助页面到我的wordpress网站(没有网站的样式,菜单等)使用以下模板,它不返回任何结果从数据库。我读了无数的网页和一些WP书籍,我很迷茫。我可以看到数据库中的四条记录,但页面没有显示。这是我的模板:

& lt; ?php/*模板名称:媒体播放器页面*/?> & lt; !DOCTYPE html>>& lt;头>& lt;元charset = " & lt; ?php bloginfo("字符集");?> "/>

在线媒体播放器
    <?php wp_head(); ?>
    <link rel="stylesheet" href="/assets/css/music-player.css" type="text/css" media="screen" charset="utf-8">
    <script src="/assets/js/jquery-1.8.3.js"></script>
</head>
<body>
    <div class="main-center">
        <h1>Please select your choice of music</h1>
        <?php
            global $wpdb;
            $rows = $wpdb->get_results("select * from ppm_playlists");
            foreach($rows as $row) :
        ?>
            <a class="openplayer"  data-genre="<?php echo $row['id']; ?>" href="#"><?php echo $row['playlist']; ?></a>
        <?php endforeach; ?>
    </div> <!-- /.main-center -->
    <script type="text/javascript">
        (function($) {
            $('.main-center').on('click', '.openplayer', function(e){
                var genre = $(this).data('genre');
                e.preventDefault();
                alert(genre);
            });
        })(jQuery);
    </script>
</body> </html>

$wpdb->get_results将返回一个对象的数组,而不是数组的数组,除非您向它传递第二个参数另有指示。如果您启用了调试,您将看到Fatal Error: Cannot use object of type stdClass as array....

你想使用对象语法:

foreach($rows as $row) : ?>
  <a class="openplayer"  data-genre="<?php echo $row->id; ?>" href="#"><?php echo $row->playlist; ?></a>
<?php endforeach; ?>

或者传递第二个参数给get_results

$rows = $wpdb->get_results("select * from ppm_playlists", ARRAY_A);

相关内容

  • 没有找到相关文章

最新更新