`
dato0123
  • 浏览: 914593 次
文章分类
社区版块
存档分类
最新评论

mysql 中动态显示列

 
阅读更多

这是我在工作中的语句,功能是实现动态显示列并且实现查找功能,请大家多多指教!

/*1*/
set group_concat_max_len=8000;
/*2动态获取产品列-用于显示*/
select concat('<select class=textbox size=1 name=FieldName><option></option>',
group_concat('<option value=',b.objname,'>',b.objjc,'</option>'),'<option value=></option></select>') `FieldList`
from gwpuser_filefields b
where b.visible='1' and b.parentid=1
order by b.objorder asc;

/*3动态获取列*/
select @fieldname:=concat(group_concat('a.'
,lower(b.objname)
,' `'
,CASE WHEN ifnull(b.YESNO,'0')='1' THEN concat('ORD_',b.objjc,'') ELSE b.objjc END
,'`')
)
from gwpuser_filefields b
where b.visible='1' and b.parentid=1 and b.objid<>1
order by b.objorder asc
;
/*4列替换列的显示,超链接*/
select @fieldsql:=concat(

replace(
replace(replace(replace(replace(
replace(replace(replace(
replace(@fieldname
,'a.filetitle','concat(''<a href=shell.php?objname=sample&objid='',a.objid,'' target=xiangxing>'',ifnull(a.filetitle,''''),''</a>'')')

,'a.filepic','concat(''<img src='',ifnull(a.filepic,''''),'' width=40px height=20px>'')')

,'a.tphoto','concat(''<img src='',ifnull(a.Tphoto,''''),'' width=40px height=20px>'')')

,'a.mphoto','concat(''<img src='',ifnull(a.Mphoto,''''),'' width=40px height=20px>'')')
,'a.yesno','case when a.yesno=''1'' then ''是'' else ''否'' end ')
,'a.isnew','case when a.isnew=''1'' then ''新'' else ''老'' end ')
,'a.cancomment','case when a.cancomment=''1'' then ''是'' else ''否'' end ')
,'a.isstock','case when a.isstock=''1'' then ''有货'' else ''无货'' end ')
,'a.prodprice',' round(a.ProdPrice,2)'

)
,
',concat(''<a href=shell.php?objname=NOR_ProdSetSetSH&objid='',a.objid,''>修改</a>'') as `修改`'
,',concat(''<a href=shell.php?objname=NOR_ProdSetDel&objid='',a.objid,''&parentid='',''$HTTP[parentid]'',''>删除</a>'') as `删除`') `Result`;

/*5表*/
select @fromsql:=' from gwpuser_fileinfo a ';

/*6条件*/
select @wheresql:=case when '$HTTP[FieldName]'<>'' then ' where a.filetype=''G''
and a.objid<>1 and a.parentid=''$HTTP[parentid]''
and ($HTTP[FieldName] like ''$HTTP[key]%''
or ''$HTTP[key]''='''')'
else 'where a.filetype=''G''
and a.objid<>1 and a.parentid=''$HTTP[parentid]''' end
;
/*7排序*/
select @ordersql:=' order by a.objorder';
/*8总条数*/
select @count:=count(*),case when count(*)='0' then '没有记录' else concat('记录数[ ',count(*),' ]条') end `rows`
from gwpuser_fileinfo a
where a.filetype='G'
and a.objid<>1 and a.parentid='$HTTP[parentid]'
and ( instr('$HTTP[FieldName]','$HTTP[key]')>0 or '$HTTP[key]'='')
;

/*9总语句*/
select @sql:=concat('select @count `PAG_NUM`,',ifnull(@fieldsql,''),ifnull(@fromsql,''),ifnull(@wheresql,''),'$HTTP[saf_dgorder]',' limit 0,200;') `Result`;

/*10*/
PREPARE sqlstr FROM @sql;

/*11*/
EXECUTE sqlstr ;

分享到:
评论

相关推荐

    MySQL中文参考手册.chm

    8.4.4.3 选择特定列 8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 ...

    MySQL中文参考手册

    + 1.2.1 本手册中使用的约定 o 1.3 MySQL的历史 o 1.4 MySQL的主要特征 o 1.5 MySQL稳定性? o 1.6 顺应2000年 o 1.7 SQL一般信息和教程 o 1.8 有用的MySQL相关链接 * 2 MySQL 邮件列表及如何提问或报告错误...

    MYSQL

    16.3 已知可用 MyODBC一起工作的程序 16.4 怎样填写 ODBC 管理程序的各种域 16.5 怎样在ODBC中获得一个AUTO_INCREMENT列的值 16.6 报告 MyODBC 的问题 17 与一些常用程序一起使用MySQL 17.1...

    MYSQL培训经典教程(共两部分) 1/2

    mysql 的输入行编辑器 54 3.2.4 批处理模式连接 55 3.2.5 总结 56 3.3 有关数据库的操作 56 3.3.1 用SHOW显示已有的数据库 56 3.3.2 用Create Dabase 创建数据库 57 3.3.3 用DROP DATABASE删除...

    PHP和MySQL Web开发第4版pdf以及源码

    1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据...

    PHP和MySQL WEB开发(第4版)

    21.4 在MySQL中计算日期 21.5 使用微秒 21.6 使用日历函数 21.7 进一步学习 21.8 下一章 第22章 创建图像 22.1 在PHP中设置图像支持 22.2 理解图像格式 22.2.1 JPEG 22.2.2 PNG 22.2.3 WBMP 22.2.4 GIF 22.3 创建...

    MYSQL培训经典教程(共两部分) 2/2

    mysql 的输入行编辑器 54 3.2.4 批处理模式连接 55 3.2.5 总结 56 3.3 有关数据库的操作 56 3.3.1 用SHOW显示已有的数据库 56 3.3.2 用Create Dabase 创建数据库 57 3.3.3 用DROP DATABASE删除...

    PHP和MySQL Web开发第4版

    1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据...

    基于MySQL的数据库中间件Meituan-DBProxy.zip

    增加后台MySQL版本号设置,主要影响MySQL连接协议中的server版本,客户端驱动可能依赖于server版本处理机制有所不同。由参数mysql-version控制 性能改进,将SQL词法分析从串行方式改进为并发方式;其次,...

    flask+python+js查询列表内容展示,列表项编辑和删除

    flask查询列表内容展示,列表项编辑和删除

    sequel-pro-maria-dynamic-column:在Sequel Pro MySQL管理工具中将Maria Dynamic Column显示为JSON

    在Sequel Pro中管理Maria动态列如果在和 MySQL管理工具中使用“ ,则可能会发现此功能有用。 MariaDB中的动态列就像将NoSQL文档附加到MySQL表的每一行。 它可以解决可能导致您犯下诸如EAV之类的犯罪的问题。安装下载...

    python-mysql day04.txt

    2、where只能操作表中字段,having过滤由聚合函数生成的显示列 3、distinct 1、distinct和from之间所有的字段全部相同才会去重 2、select count(distinct name) from sanguo; 2、索引(BTREE) 1、优点 :加快数据...

    MySQL 视图(View)实用详解!!!

    存储在数据库中的查询操作 SQL 语句定义了视图的内容,列数据和行数据来自于视图查询所引用的实际表,引用视图时动态生成这些数据。 视图没有实际的物理记录,不是以数据集的形式存储在数据库中的,它所对应的数据...

    简单登录注册,以及动态增加按钮

    实现了简单的登录注册,采用mysql数据库实现,并在主界面实现了动态加载多行多列的button按钮,将多余的区域用ScrollArea滚动显示

    php+mysql社区交流系统(毕业论文+封面目录+系统+说明书)

    插入记录集,表格为user,在列中选定id,name,passwrd 插入表单,设计登录布局 修改用户名文本域为id,密码文本域为password,类型为密码,插入“确认”按钮,点击右边应用程序中的服务器行为的+号,在弹出的列表...

    CSharp常用技术总结(DOC)

    4、让文本框同步显示dataGridView中的当前记录 5、根据所选的查询条件动态组合SQL语句 6、用数据库表中的指定列值初始化checkListBox控件 7、利用循环将查询结果赋给含checkBox列dataGridView 8、根据dataGridView...

    sql总结.doc

    (2)Mysql中搜索引擎Innodb(聚簇索引)和Mysiam(非聚簇索引)都采用B+,oracle也采用B+树实现 注:聚簇索引:一张表只能建立一个聚簇索引,以主键建立索引。聚簇索引包括主键索引和二级索引(二级索引是在对非主键...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例075 动态改变页面中单元格的背景颜色 109 实例076 屏蔽偶数次的数据输出 110 实例077 跳过数据输出中指定的记录 111 实例078 执行指定次数的循环 112 2.7 自定义函数 113 实例079 自定义函数截取中文字符串 113 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例075 动态改变页面中单元格的背景颜色 109 实例076 屏蔽偶数次的数据输出 110 实例077 跳过数据输出中指定的记录 111 实例078 执行指定次数的循环 112 2.7 自定义函数 113 实例079 自定义函数截取中文字符串 113 ...

    PHP程序开发范例宝典III

    实例035 在下拉菜单中显示数据表某列的字段值 50 实例036 在下拉菜单中显示数组中的元素 51 实例037 级联菜单的应用 52 实例038 修改数据时下拉列表的默认值为数据库中原数据信息 54 实例039 可输入字符的...

Global site tag (gtag.js) - Google Analytics