id name age item arry
1 1 1 null null
2 2 2 null null
结果 item 和arry该列都为null 则不输出
id name age
1 1 1
2 2 2
如果有上百个字段中很多字段一列都为空 怎么处理呢 求大神指点
MySQL 在查询时,你要输出是什么列,他就会返回什么列的数值,有些语言对于null 的数据返回有的是None,有的是空这样的数据。不能因为这个列的数据时null 就不显示这个列。
处理方式:
1、获取数据后 后端遍历处理这些数据,为null的剔除
2、显示时,判断是否为null ,是则不处理,不是则处理
前端显示时 判断 都为nul的那列会有一瞬间的消失 看着不舒服
后端遍历处理这些数据 为null剔除 循环遍历 晚上试一试
@cheduiwang: 你们的项目是前后端分离的?前端使用的是什么框架吗?
@xiaobaiskill: 我是业余爱好者 想做个简单的小系统 前端学的vue框架 后端学的python 现在基本都是用python的 web框架django了 没使用vue
@cheduiwang: 额?django 是模板渲染的呀,数据请求 后会将 渲染数据后的整个html 代码发送给浏览器呀,应该不出现一瞬间消失的情况,会不会是css 或 js 的问题呢?
ifnull(sum(xxxx),0) as xxxx 自己开发时遇到的,查询出来是null就显示0,希望能帮到你,少年
兄弟 这样不对 我的意思是一列字段都为null 则不输出 一列字段有一个不为null 都可以输出
id name age item arry
1 1 1 null null
2 2 2 null 1
item 一列为null arry一列中有一个不为null 输出为
id name age arry
1 1 1 null
2 2 2 1
把null列查出来又有何妨,你是要在界面上展示吗?我觉得在前端展示的时候控制比较容易
能具体点吗 前端怎么处理 兄弟 循环遍历吗?
表里数据为空就为空啊 后台对非空做判断
arry = []
data=[{name:1,age:2,email:null,arry:null},{name:2,age:2,email:null,arry:null},{name:3,age:3,email:1,arry:null}]
for (var i=0;i<data.length;i++){
$.each(data[i],function(item,v){
if(data[i][item]== null||data[i].item ==''){
delete data[i][item]
}else{
arry.push(item)
}
})
}
arry = $.unique(arry);
模板渲染的时候
表头栏就是arry中的元素
内容就是循环data[i][arry[j]]