首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >同位素是过滤和排序数据列表的最佳方法吗?

同位素是过滤和排序数据列表的最佳方法吗?
EN

Stack Overflow用户
提问于 2011-06-23 09:18:03
回答 1查看 1.9K关注 0票数 0

我对javascript和php的理解充其量是不稳定的,所以如果这段代码让您的眼睛感到疼痛,我会提前道歉:)

问题:

我正在建立一个名单,所有学校提供一个特定领域的学位。我已经收集了我想要开始的数据,并希望为用户找到一种简单的方法来对数据进行排序和筛选。

在搜索了一些筛选和排序数据之后,我偶然发现了同位素jquery插件,并认为这对于我的问题来说是一个简单的解决方法。既然我已经实现了它,我就有问题了。

使最终筛选器正常工作(本质上,当用户从最后一个筛选组中选择一个状态时,只有处于该状态的学校应该是shown.)

  • understanding,如何按状态或集中对列表中的数据进行排序(用户应该能够单击列表顶部的标题“state”或标题“集中度”,并根据所选的筛选器按升序排列列表项)。

我有一种唠叨的感觉,觉得我的实现完全错了。有人有什么建议吗?

活动页面在这里:http://forensicnexus.com/programs

我使用html/php从mysql中提取数据,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="option-combo accr">
    <ul class="filter option-set">
        <li><a href="#filter-accr-all" data-filter="" data-group="accr" class="selected">accredited & non-accredited</a></li>
        <li><a href="#filter-accr-yes" data-group="accr" data-filter=".accredited">accredited only</a></li>
        <li><a href="#filter-accr-no" data-group="accr" data-filter=".non-accredited">non-accredited only</a></li>
    </ul>
</div>

<div class="option-combo level">
    <ul class="filter option-set">
        <li><a href="#filter-level-all" data-filter="" data-group="level" class="selected">All Degree Levels</a></li>
        <li><a href="#filter-level-cert" data-group="level" data-filter=".cert">Certificate</a></li>
        <li><a href="#filter-level-as" data-group="level" data-filter=".ass">Associates</a></li>
        <li><a href="#filter-level-bs" data-group="level" data-filter=".bachelors">Bachelors</a></li>
    </ul>
</div>

<div class="option-combo country">
    <ul class="filter option-set">
        <li><a href="#filter-country-all" data-filter="" data-group="country" class="selected">All Locations</a></li>

        <li><a href="#filter-country-aus" data-group="country" data-filter=".aus">Australia</a></li>
        <li><a href="#filter-country-can" data-group="country" data-filter=".country-can">Canada</a></li>
        <li><a href="#filter-country-ind" data-group="country" data-filter=".ind">India</a></li>
    </ul>

</div>

<div class="option-combo state">
    <ul class="filter option-set">
        <li><a href="#filter-state-all"data-filter="" data-group="state" class="selected">All</a></li>
        <li><a href="#filter-state-alabama" data-group="state" data-filter=".alabama">AL</a></li>
        <li><a href="#filter-state-az" data-group="state" data-filter=".az">AZ</a></li>
    </ul>
</div>
</section>

    <ul id="prog_table_title">
            <li id="t_con">Concentration</li>  
            <li id="t_acc">Accred.</li>
            <li id="t_sch">School Name</li>
            <li id="t_lev">Level</li> 
            <li id="t_sta">State</li> 
            <li id="t_cou">Country</li> 
            <li id="t_lin">Link</li>                
    </ul>

<div id="programlisting">   
    <ul id="container"> 
    <?php

    while($ext_db_row = mysql_fetch_array($result)) 
        {       
        echo "<li class=\"schoolinfo\"><p class=\"concentration\">" . $ext_db_row['concentration'] . "</p>\n";      
        if ($ext_db_row['concentration'] != null)                                   
            echo "<p class=\"accreditation\">" . $ext_db_row['accreditation'] . "</p>\n";
            else echo "<br/>&nbsp;</p>\n";
        if ($ext_db_row['accreditation'] != null) 
            echo "<p class=\"school\">" . $ext_db_row['school'] . "</p>\n";
            else echo "<p>&nbsp;</p>\n";
        if ($ext_db_row['school'] != null)
            echo "<p class=\"level\">" . $ext_db_row['level'] . "</p>\n";
            else echo "<p>&nbsp;</p>\n";
        if ($ext_db_row['level'] != null)
            echo "<p class=\"state\">" . $ext_db_row['state'] . "</p>\n";
            else echo "<p>&nbsp;</p>\n";        
        if ($ext_db_row['level'] != null)
            echo "<p class=\"country\">" . $ext_db_row['country'] . "</p>\n";
            else echo "<p>&nbsp;</p>\n";    
        if ($ext_db_row['country'] != null)
            echo "<p class=\"link\"><a href=\"http://" . $ext_db_row['link'] . "\" title=\"Click here to visit the website\" target=\"_blank\"><img src=\"" . $linkicon . "\" /></a></p>\n";
            else echo "<p>&nbsp;</p>\n";            
        echo "</li>\n\n";
        }//end while

    mysql_close($con);  
    ?>  
    </ul>
    </div>

下面是我与isotope.js一起使用的javascript

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $(function(){

    var $container = $('#container'),
        filters = {},
        // an object 
        classData = [
          {
            index: 1,
            classNames: {
              'Y' : 'accredited',
              'N' : 'non-accredited'
            }
          },
          {
            index: 3,
            classNames: {
              'Masters' : 'masters',
              'Bachelors' : 'bachelors',
              'UndergraduateCertificate' : 'undergrad',
              'Certificate' : 'cert',
              'Associates' : 'ass',
              'GraduateCertificate' : 'mascert',
              'Doctorate' : 'phd'
            }
          },
          {
            index: 5,
            classNames: {
              'UnitedStates' : 'country-us',
              'UnitedKingdom' : 'uk',
              'Canada' : 'country-can',
              'Australia' : 'aus',
              'India' : 'ind',
              'TheNetherlands' : 'neth',
              'Scotland' : 'scot',
              'Switzerland' : 'swi',
              'Taiwan' : 'tai',
              'Turkey' : 'tur',
              'Online' : 'online'
            }
          },
          {
            index: 7,
            classNames: {
                'AL' : 'alabama',
                'AZ' : 'az',
                'CA' : 'ca',
                'CO' : 'co',
                'CT' : 'ct',
                'DC' : 'dc',
                'FL' : 'fl',
                'GA' : 'ga',
                'IL' : 'il',
                'IN' : 'in',
                'KY' : 'ky',
                'MA' : 'ma',
                'MD' : 'md',
                'MI' : 'mi',
                'MS' : 'ms',
                'MT' : 'mt',
                'ND' : 'nd',
                'NY' : 'ny',
                'OH' : 'oh',
                'OK' : 'ok',
                'PA' : 'pa',
                'RI' : 'ri',
                'TX' : 'tx',
                'VA' : 'va',
                'WA' : 'wa',
                'WV' : 'wv',
            }
          }
        ];

    $container.children().each(function(){
      var $this = $(this),
          $cells = $this.children(),
          textContent,
          className,
          obj;
      for (var i=0, len = classData.length; i < len; i++) {
        obj = classData[i];
        // read text from cell,
        // strips ALL whitespace, even inbetween words
        textContent = $cells.eq( obj.index ).text().replace(/[\n\t ]/g,'');
        className = obj.classNames[ textContent ];
        $this.addClass( className );
      }
    });

    // filter buttons
    $('.filter a').click(function(){
      var $this = $(this),
          isoFilters = [],
          prop, selector;

      // don't proceed if already selected
      if ( $this.hasClass('selected') ) {
        return;
      }

      $this.parents('.option-set').find('.selected').removeClass('selected');
      $this.addClass('selected');


      // store filter value in object
      // i.e. filters.color = 'red'
      filters[ $this.data('group') ] = $this.data('filter');

      for ( prop in filters ) {
        isoFilters.push( filters[ prop ] )
      }
      selector = isoFilters.join('');
      $container.isotope({ filter: selector });

      return false;
    });


    $container.isotope({
      itemSelector : '.schoolinfo',
      layoutMode: 'straightDown',
    });

  });
EN

回答 1

Stack Overflow用户

发布于 2012-01-24 17:00:18

零,请写简短的问题。这可能就是为什么你在6+几个月没有得到回应的原因。

首先,请消除过滤器和内容之间的讨厌的广告。我很难在你的页面上看到我在做什么。(而且,谷歌会为此给你打分)

第二,没有“状态”过滤器--你是因为它不起作用而删除它的吗?在过去的一个月里,我一直在同位素中游泳,我很乐意回答你的问题。::^]

对列表进行排序:同位素已经建立了排序功能,而我在这段代码中没有看到任何尝试。查看这里的文档:http://isotope.metafizzy.co/docs/sorting.html

不错的网站,我可以看到这将是多么有用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6458032

复制
相关文章
使用Oracle SQL Developer 连接SQL Server
上次,将MySQL数据迁移到Oracle介绍了如何使用oracle sql developer连接mysql。同样,sql server的连接也比较相似。
williamwong
2018/07/24
3.3K0
使用Oracle SQL Developer 连接SQL Server
sql怎么调用存储过程_oracle sql分页查询
数据库用的是Oracle,Mybatis自动封装的分页,sql语句在PLSQL中执行没有问题,放在代码里面运行的时候就报错:未明确定义列。
全栈程序员站长
2022/11/10
1.2K0
【oracle】存储过程
存储过程创建语法: create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); --vs_msg VARCHAR2(4000); 变量2 类型(值范围); Begin Select count(*) into 变量1 from 表A where列名=param1; If (判断条件) then Select 列名 into 变量2 from 表A where列名=para
赵腰静
2018/03/09
1.1K0
Oracle存储过程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
颍川
2019/11/21
8800
Oracle存储过程
Oracle存储过程 oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_
Java帮帮
2018/03/15
2.7K0
Oracle存储过程
oracle存储过程回滚_sql事务回滚
( No INT, Name nvarchar(10), Comment nvarchar(10)
全栈程序员站长
2022/11/01
2.2K0
sql 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。
格姗知识圈
2019/07/19
1.4K0
SQL存储过程
存储过程 什么是存储过程 创建调用与删除 变量声明 参数定义 流程语句 查看存储过程 什么是存储过程 创建一组为了完成特定功能的SQL语句集 之后需要用到时就可以直接用存储过程名使用 创建的存储过程保存在数据库的数据字典中 创建调用与删除 /* 创建 */ DELIMITER $$ CREATE PROCEDURE 名称() BEGIN 语句 END $$ DELIMITER ; /* 调用 */ call 名称(); /* 删除 */ drop procedure 名称; DELIMITER语句将标
木瓜煲鸡脚
2019/08/06
1.2K0
SQL存储过程
什么是存储过程? 存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。
小语雀网
2021/09/08
8950
Oracle 递归sql,mybatis的递归查询,与存储过程调用
引用文献:https://www.cnblogs.com/Soprano/p/10659127.html
斯文的程序
2019/11/07
1K0
【DB笔试面试660】在Oracle中,在编译存储过程、函数等对象时无响应该怎么办?
在编译某个存储过程的时候,Oracle会自动给这个对象加上DDL锁,同时也会对这个存储过程所引用的对象加锁。在数据库的开发过程中,经常碰到包、存储过程、函数无法编译或采用“PLSQL Developer”这款软件进行编译时会导致该软件无法响应的问题,这个时候可以通过查询DBA_DDL_LOCKS或V$ACCESS来获取锁的相关信息。
AiDBA宝典
2019/10/15
1.3K0
Oracle 存储过程 PROCEDURE
一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。
星哥玩云
2022/08/16
6490
oracle存储过程语法
前两天无意见看见了一个非常适合学习Oracle附上链接:https://blog.csdn.net/yucaifu1989/article/details/15813793
全栈程序员站长
2022/09/13
9130
sql存储过程简单例题_sql存储过程实例详解
2、创建存储过程P2,查询学生的学号、姓名、课程名、成绩,将学生所在系作为输入参数
全栈程序员站长
2022/09/27
9030
通过sql调用procedure_oracle存储过程简单案例
存储过程经编译创建并保存在数据库中,用户可通过指定存储过程的名字和给定参数来调用执行。存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。
全栈程序员站长
2022/11/10
7530
oracle存储过程语法和用法,oracle存储过程 语法 函数 总结
4、 查看编译错误:在命令窗口中show errors procedure procedure_name
全栈程序员站长
2022/09/13
1.3K0
Oracle存储过程与存储函数
郭顺发
2023/07/06
5810
如何找到抛出ORA-00933错误的SQL
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bisal
2019/11/20
2.5K0
如何找到抛出ORA-00933错误的SQL
oracle创建简单的存储过程
create or replace procedure test1:创建一个名称为test1的存储过程, 如果存在就覆盖它;
bug专8
2021/01/13
2.4K0
Oracle存储过程及举例(几种参数情况的存储过程)
存储过程 存储过程可以有多个或者零个输入输出参数,但通常没有返回值。存储过程是已经编译好的代码,所以执行效率非常高 存储过程创建语句
全栈程序员站长
2022/09/13
1.7K0

相似问题

编译存储过程使Oracle SQL Developer挂起

21

Oracle SQL Developer上的存储过程

40

Oracle SQL Developer中的存储过程

20

在Oracle SQL Developer中执行存储过程

21

过程正在抛出编译时错误oracle。

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文