页面中一键向后台多张表插入数据

一、获取页面中所有form的文本值并打包(下文省略部分代码):

var forms = $(".warpper1").find("form");
var arr = new Object();
for(var i=0;i<forms.length;i++){
	var id = forms.eq(i).attr("id");
	arr[id] = $("#"+id).serializeArray();
}
console.table(arr);
$.ajax({
        url:'/Home/Members/perfect_now',                      
	data:arr,
	dataType:'html',
	type:'post',
        success:function(data){
            	console.log(data);
        }
});

二、将后台获取的$_POST转化成易于插入数据库表的数据结构:

//print_r($_POST);
foreach($_POST as $k=>$v){
    $num = 0;
    foreach($v as $key=>$val){
	if($val['name'] == $v[0]['name'] && $key != 0){
	    ++$num;
	}
										
	$_POST[$k][$num][$val['name']] = $val['value'];						

	if($key != $num){unset($_POST[$k][$key]);}	
	unset($_POST[$k][$num]['name']);
	unset($_POST[$k][$num]['value']);																	
    }
}
//print_r($_POST);exit;

关于SQLSTATE[HY000] [1698]: Access denied for user ‘root’@’localhost’的问题

问题描述:

客户端可以登录,PHP无法登录。

解决方法:

select user, plugin from mysql.user;
update mysql.user set plugin = 'mysql_native_password' where user='root';

重启msyql。

一个PHP文件搞定微信扫描支付

  1. 先申请商户和应用配置文件:

    https://mp.weixin.qq.com/ 

  2. 源码:

    https://github.com/dedemao/weixinPay

  3. wxpay.7z

    上传图预览

    HTML部分

    <img id="pscover" src="__PUBLIC__/Home/images/z_70.jpg" alt="" />
    <input type="file" name="scover" id="scover" />
    <img id="pqr" src="__PUBLIC__/Home/images/z_70.jpg" alt="" />
    <input type="file" name="qr" id="qr"/>

    JS部分(注意引入jQ)

    window.onload = function(){
    	var arr = new Array();
    	arr["img[id='pscover']"] = "input[name='scover']";
    	arr["img[id='pqr']"] = "input[name='qr']";
    	for(var i in arr){
    		void function(i){
    			$(arr[i]).on("change",function(){
    		 		var pic = this.files[0];
    		 		pic_preview(pic,i);
    			})		
    		}(i)	 	
    	}
    	function pic_preview(pic,obj){
    		var f = new FileReader();
    		f.readAsDataURL(pic);
    		f.onload = function (e){
    			$(obj).attr("src",this.result).show();
    		}
    	}	
    }

    PHP的use语句

    PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:

    // PHP 7 之前版本需要使用多次 use 
    use some\namespace\ClassA; 
    use some\namespace\ClassB; 
    use some\namespace\ClassC as C; 
    
    use function some\namespace\fn_a; 
    use function some\namespace\fn_b; 
    use function some\namespace\fn_c; 
    
    use const some\namespace\ConstA; 
    use const some\namespace\ConstB; 
    use const some\namespace\ConstC; 
    
    // PHP 7+ 之后版本可以使用一个 use 导入同一个 namespace 的类 
    use some\namespace\{ClassA, ClassB, ClassC as C}; 
    use function some\namespace\{fn_a, fn_b, fn_c}; 
    use const some\namespace\{ConstA, ConstB, ConstC};