剩下两个字段的内容
2017-11-13 22:08
162 查看
我要做的是一个双重循环中,查找一个表中与另一个表中时间相同的项,且一个字段的属性为order
首先,这个问题,我搞了基本快一天了,其实要明确这个问题是一个双重循环问题
其难点在于外层循环输出了整个表格,内层循环只输出了一个表格中的内容
目前test:什么是正确的测试数据结果?内层循环表格中的内容会被输出两次,且值是不同的
我的构想是,sql语句中加入时间的判断,这样的话,数据就会有20171111的两条,2017......的N条
外层循环是读取A表的数据,需要将A表中的date字段与B表中的add_time转化为date('Ymd')形式后比较判断
读取的是A表的3个日期,20171111,2017......,2017.......
那么在双层循环中,外层循环执行了3次
if(Adate==Badd_time)
Adate总共只有三条数据,Badd_time有N条,与其相等的有20171111的两条,2017.......的N条,这样就划分好了范围
关键是数据到底怎么输出?
等等,我突然想到了一个点子。
在外层循环中,执行在sql语句中统计Adate字段与B表中add_time相同的字段,那么20171111就是2条,2017.....的N条
$sql2="select count(*) as count from `hongbao_list` where source='order' and FROM_UNIXTIME(add_time,'Ymd')=".$val('date');
$res2 = $this->_db->query($sql2);
while($result=$this->_db->fetch_array($res2))
由于是在外层循环中,所以会得到两个数据结果,就是我们想要的20171111的2条,2017......的N条
加上为空判断,直接输出
if(!empty($result)){
echo $result['count'];
}
个人感觉这个思路是OK的,SQL语句会执行3次,其中一次是空的,另外两次则统计出了Adate与Badd_time相同的字段的数量
内层循环中的数据会是有多少条?大概会是两条,所以即是外层循环执行3次,内层循环执行2次,在if语句中加上break
等等,SQL语句中的count应该只会返回一个数据结果,所以:
$result=$this->_db->fetch_array($res2);
去掉while,直接输出应该就可以了
也就是不需要内层循环了,那样问题就简单多了
首先,这个问题,我搞了基本快一天了,其实要明确这个问题是一个双重循环问题
其难点在于外层循环输出了整个表格,内层循环只输出了一个表格中的内容
目前test:什么是正确的测试数据结果?内层循环表格中的内容会被输出两次,且值是不同的
我的构想是,sql语句中加入时间的判断,这样的话,数据就会有20171111的两条,2017......的N条
外层循环是读取A表的数据,需要将A表中的date字段与B表中的add_time转化为date('Ymd')形式后比较判断
读取的是A表的3个日期,20171111,2017......,2017.......
那么在双层循环中,外层循环执行了3次
if(Adate==Badd_time)
Adate总共只有三条数据,Badd_time有N条,与其相等的有20171111的两条,2017.......的N条,这样就划分好了范围
关键是数据到底怎么输出?
等等,我突然想到了一个点子。
在外层循环中,执行在sql语句中统计Adate字段与B表中add_time相同的字段,那么20171111就是2条,2017.....的N条
$sql2="select count(*) as count from `hongbao_list` where source='order' and FROM_UNIXTIME(add_time,'Ymd')=".$val('date');
$sql2="select count(*) as count from `hongbao_list` where source='order' and FROM_UNIXTIME(add_time,'Ymd')=".$val('date');
$res2 = $this->_db->query($sql2);
while($result=$this->_db->fetch_array($res2))
由于是在外层循环中,所以会得到两个数据结果,就是我们想要的20171111的2条,2017......的N条
加上为空判断,直接输出
if(!empty($result)){
echo $result['count'];
}
个人感觉这个思路是OK的,SQL语句会执行3次,其中一次是空的,另外两次则统计出了Adate与Badd_time相同的字段的数量
内层循环中的数据会是有多少条?大概会是两条,所以即是外层循环执行3次,内层循环执行2次,在if语句中加上break
等等,SQL语句中的count应该只会返回一个数据结果,所以:
$result=$this->_db->fetch_array($res2);
去掉while,直接输出应该就可以了
也就是不需要内层循环了,那样问题就简单多了
相关文章推荐
- SQL语句 删除表user 中字段name 内容重复的记录,A表 ,B表 字段相同 有关联关系的表 对表两个表中的数据
- sql语句自动匹配两个表两个字段内容相似的记录
- mysql查询根据一个字段或者两个字段内容重复的记录并将其全部删除
- mysql instr用法解决(两个表根据表1的字段关键词 去查询表2的内容)
- Extjs Combobox中显示两个字段内容
- mysql 两个字段内容互换
- SQL Server数据库获取TEXT字段的内容长度的方法
- VFP中如何查找表中指定字段内容重复(竖重)的记录
- 两个表字段之间的批量更新实现的是将a表中的a1 更换成b表中的b2,条件是a1 = b1,并且a1和b1都是唯一的。
- Sql字段内容替换
- Gridview中合并单元格,某字段的内容相同时如何只显示一个,屏蔽相同列或行的内容
- SQL SERVER里替换字段中的部分内容
- 又两个很常用的sqlServer字段相关的sql语句
- mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法
- dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容
- sqlite合并两个字段(字符串对接)后显示判断是否空等记录
- 如何判别字段中是否包含了emojicon表情以及过滤相关内容
- 判断两个循环链表内容是否相等
- 替换字段文本中的标签内容
- sqlserver 2000数据库同步 同步两个SQLServer数据库的内容