首页 新闻 会员 周边

mysql数据处理 求大神指点 看是后端处理 还是数据就能处理

0
悬赏园豆:20 [已解决问题] 解决于 2018-12-14 14:01

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

如果有上百个字段中很多字段一列都为空 怎么处理呢 求大神指点

cheduiwang的主页 cheduiwang | 初学一级 | 园豆:73
提问于:2018-12-11 09:50
< >
分享
最佳答案
1

MySQL 在查询时,你要输出是什么列,他就会返回什么列的数值,有些语言对于null 的数据返回有的是None,有的是空这样的数据。不能因为这个列的数据时null 就不显示这个列。

处理方式:
1、获取数据后 后端遍历处理这些数据,为null的剔除
2、显示时,判断是否为null ,是则不处理,不是则处理

收获园豆:15
xiaobaiskill | 小虾三级 |园豆:1087 | 2018-12-11 10:24

前端显示时 判断 都为nul的那列会有一瞬间的消失 看着不舒服

后端遍历处理这些数据 为null剔除 循环遍历 晚上试一试

cheduiwang | 园豆:73 (初学一级) | 2018-12-11 11:06

@cheduiwang: 你们的项目是前后端分离的?前端使用的是什么框架吗?

xiaobaiskill | 园豆:1087 (小虾三级) | 2018-12-11 11:11

@xiaobaiskill: 我是业余爱好者 想做个简单的小系统 前端学的vue框架 后端学的python 现在基本都是用python的 web框架django了 没使用vue

cheduiwang | 园豆:73 (初学一级) | 2018-12-11 12:13

@cheduiwang: 额?django 是模板渲染的呀,数据请求 后会将 渲染数据后的整个html 代码发送给浏览器呀,应该不出现一瞬间消失的情况,会不会是css 或 js 的问题呢?

xiaobaiskill | 园豆:1087 (小虾三级) | 2018-12-11 13:01
其他回答(4)
0

ifnull(sum(xxxx),0) as xxxx 自己开发时遇到的,查询出来是null就显示0,希望能帮到你,少年

才小有 | 园豆:232 (菜鸟二级) | 2018-12-11 09:53

兄弟 这样不对 我的意思是一列字段都为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

支持(0) 反对(0) cheduiwang | 园豆:73 (初学一级) | 2018-12-11 09:57
0

把null列查出来又有何妨,你是要在界面上展示吗?我觉得在前端展示的时候控制比较容易

收获园豆:5
会长 | 园豆:12401 (专家六级) | 2018-12-11 10:12

能具体点吗 前端怎么处理 兄弟 循环遍历吗?

支持(0) 反对(0) cheduiwang | 园豆:73 (初学一级) | 2018-12-11 10:13
0

表里数据为空就为空啊 后台对非空做判断

ycyzharry | 园豆:25653 (高人七级) | 2018-12-11 10:52
0

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]]

cheduiwang | 园豆:73 (初学一级) | 2018-12-14 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册