| 1234567891011121314151617181920212223242526272829303132333435363738 | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Model_transact extends Lin_Model {	function __construct(){		parent::__construct();		$this->load->database();		$this->table = 'transact';		$this->load_table('transact');	}	public function insert_batch($keys,$arr){		$values=array_values($arr);		$sql=$this->multArray2Insert("crowd_".$this->table,$keys,$values);		$res=$this->db->query($sql);		return $res;	}	 /** * 多条数据同时转化成插入SQL语句 * @ CreatBy: * @param string $table 表名 * @$arr_key是表字段名的key:$arr_key=array("field1","field2","field3") * @param array $arr是字段值 数组示例 arrat(("a","b","c"), ("bbc","bbb","caaa"),('add',"bppp","cggg")) * @return string */private function multArray2Insert($table, $arr_key, $arr, $split = '`'){    $arrValues = array();    if (empty($table) || !is_array($arr_key) || !is_array($arr)) {        return false;    }    $sql = "INSERT INTO %s( %s ) values %s ON DUPLICATE KEY UPDATE `updated_at`=".time();    foreach ($arr as $k => $v) {        $arrValues[$k] = "'" . implode("','", array_values($v)) . "'";    }    $sql = sprintf($sql, $table, "{$split}" . implode("{$split} ,{$split}", $arr_key) . "{$split}", "(" . implode(") , (", array_values($arrValues)) . ")");    return $sql;}	}  //end class
 |