来自 MySQL 的数据属性值


Data attribute value from MySQL

我是PHP和MySQL的新手,所以我不太确定我在这里做错了什么。我正在使用jQuery插件流沙来创建可过滤的投资组合。该插件使用 li 项内的自定义数据属性数据标签来填充过滤器导航。

我正在尝试做的是使用 foreach 循环来填充 ul 的内容。问题是当我使用 php 从 mySQL 表中的gallery_tag列获取数据属性的值时,过滤器导航不会自动填充。

<?php
$pagetitle = "Red Penguin - Our Work";
$navcurrent = "work";
$headTitle = "RECENT WORK";
$headsubTitle = "SOME OF OUR RECENT WORK";
 include_once('includes/headersub.php');
 include_once('includes/connection.php'); 
 include_once('includes/project.php');
$project = new Project;
$projects = $project->fetch_all();
?>
<div class="row">       
    <nav id="filter"></nav>
    <section id="container">
        <ul id="stage" class="three-up">
        <?php foreach($projects as $project) { ?>
            <li class="gallerylist" data-tag="<?php echo $project['gallery_tag']; ?>">      
                <a href="project.php?id=<?php echo $project['gallery_id']; ?>">
                    <img src="<?php echo $project['gallery_thumb']; ?> " alt="<?php echo $project['gallery_proj']; ?>" />
                    <?php echo $project['gallery_title']; ?>
                </a>
</li>
 <?php } ?>
 </ul>
 </section>

日志中出现的错误在 jquery 行中:

 tags = elem.data('tags').split(',');

日志返回此错误:"未捕获的类型错误:无法调用未定义的方法'拆分'"对于上述行。

我不太确定为什么这是一个冲突,导致 jquery 无法读取从表的gallery_tag列中获取的数据属性的值。任何帮助将不胜感激。

我想你的html中有一个拼写错误,你data-tag,你试图得到它应该elem.data('tags') elem.data('tag')

您的elem.data('tags')返回undefined 。所以split()不会做它。

也许我错了,但我认为你需要: tags = elem.data('tags').split(' ');