mongodb - 前端form表单数据传输,在保存和清除的数据格式的处理程序的 - 非递归

//处理时间段,将ISODate("2014-10-09T18: 37: 50.0Z") 兑换 2014-10-09 18:37:50这样的格式
	//截至处理6层树形结构数据,当多维数组key,$product_date_col中的随意一个字符,那么就会被处理。

public static function processMongoGetDate($product){
		foreach($product as $k1=>$v1){
			if(!is_array($v1)&& !is_object($v1)){

			}else{
				//if(self::contentDate($k1,$product_date_col)){
					if($v1->sec){
						$v1 = date('Y-m-d H:i:s', $v1->sec);
					}
					$product[$k1] = $v1;
				//}

				foreach($v1 as $k2=>$v2){
					if(!is_array($v2)&& !is_object($v2)){

					}else{
						//if(self::contentDate($k2,$product_date_col)){
							if($v2->sec){
								$v2 = date('Y-m-d H:i:s', $v2->sec);
							}
							$product[$k1][$k2] = $v2;
						//}
						foreach($v2 as $k3=>$v3){
							if(!is_array($v3)&& !is_object($v3)){

							}else{
								//if(self::contentDate($k3,$product_date_col)){
									if($v3->sec){
										$v3 = date('Y-m-d H:i:s', $v3->sec);
									}
									$product[$k1][$k2][$k3] = $v3;
								//}
								foreach($v3 as $k4=>$v4){
									if(!is_array($v4)&& !is_object($v4)){

									}else{
										//if(self::contentDate($k4,$product_date_col)){
											if($v4->sec){
												$v4 = date('Y-m-d H:i:s', $v4->sec);
											}
											$product[$k1][$k2][$k3][$k4] = $v4;
										//}
										foreach($v4 as $k5=>$v5){
											if(!is_array($v5)&& !is_object($v5)){

											}else{
												//if(self::contentDate($k5,$product_date_col)){
													if($v5->sec){
														$v5 = date('Y-m-d H:i:s', $v5->sec);
													}
													$product[$k1][$k2][$k3][$k4][$k5] = $v5;
												//}
												foreach($v5 as $k6=>$v6){
													if(!is_array($v6)&& !is_object($v6)){

													}else{
														//if(self::contentDate($k6,$product_date_col)){
															if($v6->sec){
																$v6 = date('Y-m-d H:i:s', $v6->sec);
															}
															$product[$k1][$k2][$k3][$k4][$k5][$k6] = $v6;
														//}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		return $product;
	}

	/* 作用:前端form传递过来的数据,不管保存,还是查询,都须要转化成mongo的格式
	*  处理:处理的为,1.数字字符串转换成float类型。2.日期使用\MongoDate()转换成mongo格式的日期。

*  结果:此函数不过转换 字段类型。最多为6层树形结构表。
	*/
	public static function processMongoSetData($data,$float_array){
		//?gte   ?lte

		$product = object_to_array($data);
		$productfloat = $float_array;

		foreach($product as $k1=>$v1){
				if(!is_array($v1)&& !is_object($v1)){
					if(in_array($k1,$productfloat)){
						if(is_numeric($v1)){
							$v1 = floatval($v1);
							$product[$k1] = $v1;
						}
					}
					if(is_time($v1)){
						$product[$k1] = new \MongoDate(strtotime($v1));
					}
				}else{
					foreach($v1 as $k2=>$v2){
						if(!is_array($v2)&& !is_object($v2)){
							if(in_array($k2,$productfloat)){
								if(is_numeric($v2)){
									$v2 = floatval($v2);
									$product[$k1][$k2] = $v2;
								}
							}
							if(is_time($v2)){
								$product[$k1][$k2] = new \MongoDate(strtotime($v2));
							}
						}else{
							foreach($v2 as $k3=>$v3){
								if(!is_array($v3)&& !is_object($v3)){
									if(in_array($k3,$productfloat)){
										if(is_numeric($v3)){
											$v3 = floatval($v3);
											$product[$k1][$k2][$k3] = $v3;
										}
									}
									if(is_time($v3)){
										$product[$k1][$k2][$k3] = new \MongoDate(strtotime($v3));
									}
								}else{
									foreach($v3 as $k4=>$v4){
										if(!is_array($v4)&& !is_object($v4)){
											if(in_array($k4,$productfloat)){
												if(is_numeric($v4)){
													$v4 = floatval($v4);
													$product[$k1][$k2][$k3][$k4] = $v4;
												}
											}
											if(is_time($v4)){
												$product[$k1][$k2][$k3][$k4] = new \MongoDate(strtotime($v4));
											}
										}else{
											foreach($v4 as $k5=>$v5){
												if(!is_array($v5)&& !is_object($v5)){
													if(in_array($k5,$productfloat)){
														if(is_numeric($v5)){
															$v5 = floatval($v5);
															$product[$k1][$k2][$k3][$k4][$k5] = $v5;
														}
													}
													if(is_time($v5)){
														$product[$k1][$k2][$k3][$k4][$k5] = new \MongoDate(strtotime($v5));
													}
												}else{
													foreach($v5 as $k6=>$v6){
														if(!is_array($v6)&& !is_object($v6)){
															if(in_array($k6,$productfloat)){
																if(is_numeric($v6)){
																	$v6 = floatval($v6);
																	$product[$k1][$k2][$k3][$k4][$k5][$k6] = $v6;
																}
															}
															if(is_time($v6)){
																$product[$k1][$k2][$k3][$k4][$k5][$k6] = new \MongoDate(strtotime($v6));
															}
														}else{

														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
		}

		return $product;

	}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-15 02:26:13

mongodb - 前端form表单数据传输,在保存和清除的数据格式的处理程序的 - 非递归的相关文章

mongodb - 前端form表单传递数据,在保存和取出的数据格式处理函数 - 非递归

//处理时间部分,将ISODate("2014-10-09T18: 37: 50.0Z") 转换成 2014-10-09 18:37:50这种格式 //最多处理6层树形结构数据,当多维数组中的key,包含数组$product_date_col中的任意一个字符,那么就会被处理. public static function processMongoGetDate($product){ foreach($product as $k1=>$v1){ if(!is_array($v1)&

批量审批功能的前端form表单ajax提交多文件多数据

实现的功能: 勾选需要批量修改的信息,点击批量审批按钮,弹出一个用boostrap框架做的模态框,显示出勾选内容的信息,并且填写了内容,上传了多文件之后,通过ajax发送数据. 第一步:先获取选中项该行中需要的数据 //选中项的信息取出来 $('.checkone:checked').each(function () { flow_id += $(this).val() + ','; var name = $(this).parents('tr').find('.name').text().tr

前端 http协议 四大特性 web本质 -响应状态码 列表标签 表单操作 form表单 # 44

1.前端简介 1 """""" 2 """前端:""" 3 """和python没有任何关系""" 4 5 1.什么是前端? 6 任何与用户直接打交道的操作界面都可以称之为前端 7 比如 : 电脑界面 手机界面 平板界面 8 9 2.什么是后端? 10 暂时先理解成,幕后操作者 11 不直接与用户打交道 12 13 3.为什么要

django系列9--django中的组件(form表单)

一.Form介绍 普通方式注册功能实现 views.py # 注册 def register(request): error_msg = "" if request.method == "POST": username = request.POST.get("name") pwd = request.POST.get("pwd") # 对注册信息做校验 if len(username) < 6: # 用户长度小于6位 e

前端1-----块级标签(独占一行),排版标签(样式排版),其他标签,form表单(input的多种类型)

前端1-----块级标签(独占一行),排版标签(样式排版),其他标签,form表单(input的多种类型) 一丶HTML块级标签 排版标签 p 标签: 段落标签,会自动在段落上下加上空白来分开 p标签是一个文本标签,本身是一个块级标签不能再嵌套块标签 div 标签: 没有样式的标签 ,最常用 列表 ???????1.无序列表 常用 ??????2.有序列表 ??????3.标题列表 # 无序列表 circle:空心圆, disc:默认实心圆,square:实心方片 <ul type='circl

学习java前端 两种form表单提交方式

第一种:原生方式 注意点:button标签的style为submit <form action="/trans/doTrans.do" method="post"> 转出卡号:${cardNo} <br> 转出卡号余额:${balance}元 <br> <br> 转入卡号:<input name="checkInCardNo" type="text"> <br&

使用PHP快速创建现代化的form表单,支持前端js扩展,就是方便

form-builder 使用PHP快速创建现代化的form表单,包含复选框.单选框.输入框.下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传等功能. 详细查看: Github地址 | Composer地址 表单使用form-create js表单生成器生成 如果对您有帮助,您可以在Github点右上角 "Star" 支持一下 谢谢! 本项目还在不断开发完善中,如有建议或问题请在这里提出 安装 composer require xaboy/form-b

使用ajax方法实现form表单的提交

转http://www.cnblogs.com/han-1034683568/p/7199168.html 写在前面的话 在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说想要将控制权放在前端,通过js来操作页面的跳转或者数据变化. 一般这种异步的操作,我们都会想到ajax方式,因此在实现了功能后就整理了这篇文章,通过ajax方法实现form表单的提交并进行后续

javascprit form表单提交前验证以及ajax返回json

1.今天要做一个手机验证码验证的功能.需求是前端页面点击发送 短信验证码,后台接收后通过ajax返回到前端,之后前端在提交时候进行验证.思路很简单,不过做的过程还是学到不少的东西. 1.ajax请求后返回 returning 405 Method Not Allowed 原因是我后台返回的时候没有加上: @ResponseBody注解.加上后返回的数据是json字符串,但是js只能操作json对象.需要把json字符串转为json对象.一般的有三种方式1.JSON.parse();如 var j