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;
		
	}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先需要一个服务器端的语言来处理数据的存储,比如PHP、Python等。下面提供一个PHP的示例代码: ```php <?php if(isset($_POST['submit'])){ $data = $_POST['data']; $file = fopen("data.txt", "a"); fwrite($file, $data."\n"); fclose($file); echo "数据保存成功!"; } ?> <html> <head> <title>输入并保存数据</title> </head> <body> <form method="post"> <label for="data">输入数据:</label><br> <input type="text" id="data" name="data"><br> <input type="submit" name="submit" value="保存"> </form> </body> </html> ``` 上述代码实现了一个简单的表单页面,用户可以在表单中输入数据,并将其保存到指定的文件data.txt中。当用户点击“保存”按钮时,表单数据将会以POST方式提交给服务器端进行处理。 在实际使用时,需要将上述PHP代码保存到服务器上,并通过浏览器访问该PHP文件即可使用。同时需要注意,由于涉及文件操作,需要确保PHP文件所在的文件夹有写入权限。 ### 回答2: 要实现数据的输入并将输入的数据保存到指定的文件夹数据库中,可以通过以下步骤来完成: 1. 在HTML中创建一个表单,用于用户输入数据。可以使用HTML5的<input>标签,设置不同的类型以适应不同的数据(如文本、数字、日期等)。 2. 使用HTML5的<form>标签将表单包裹起来,并设置action属性为后台处理数据的脚本文件路径。 3. 在后台处理数据的脚本文件中,将接收到的数据进行处理。这可以使用服务器端的编程语言(如PHP、Python)来完成。 4. 在脚本文件中,可以使用文件操作函数将数据保存到指定的文件夹数据库中。通过打开文件、写入数据、关闭文件等操作来实现。 5. 数据保存到文件夹数据库中后,可以根据需求进一步对数据进行处理或展示。比如可以读取文件夹数据库中的数据并进行展示,可以使用服务器端的编程语言生成动态网页。 通过上述步骤,就可以使用HTML5编写一个网页,实现数据的输入并将输入的数据保存到指定的文件夹数据库中。需要注意的是,后台处理数据的脚本文件需要根据实际情况来编写,以及文件夹数据库的具体实现方式也需根据需求来选择。 ### 回答3: 要用HTML5编写一个网页,实现数据的输入并将输入的数据保存到指定的文件夹数据库中,可以通过以下步骤来实现: 首先,在HTML页面中创建一个表单,使用适当的输入字段(例如文本输入框、下拉列表等)来收集用户输入的数据。可以使用HTML5的<form>和相关的<input>元素来创建表单。 接着,在表单中添加一个提交按钮,用于用户提交输入的数据。 然后,在表单的提交按钮被点击时,通过使用HTML5的<canvas>元素,将用户输入的数据绘制为图像。可以使用JavaScript和HTML5的Canvas API来完成这一步骤。 在用户点击提交按钮后,使用JavaScript来获取用户输入的数据并将其保存到指定的数据库中。可以使用XMLHttpRequest对象来向服务器发送请求并将用户数据传递给服务器端的数据库。 最后,在服务器端,可以使用服务器端脚本(如PHP、Python等)来接收从前端发送的数据,并将数据保存到指定的文件夹数据库中。根据服务器端脚本语言的不同,可以使用不同的数据库管理系统来实现这一步骤,如MySQL、MongoDB等。 需要注意的是,这只是一个基本的实现思路,具体的实现细节会因个人需求和环境的不同而有所差异。此外,还需要考虑数据的安全性和合法性,以及对用户输入进行适当的验证和过滤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值