我正在尝试将更新查询抽象为一个函数,以便我可以更轻松地将其实现到一些ajax调用中。但我正在尝试大约2个小时而无法开始(大脑沸腾)。
public function update_table_multi($table_name, array $col_names,
array $sets, $where_name, array $wheres) {
}
它应该如何运作
表:
ID banner bannercode location status
3 Pagerank buttons Pagerank buttons banner code pagerank-buttons 0
5 Index buttons Index banner codes index-buttons 0
$cf->update_table_multi('advertising', array('banner', 'bannercode'),
array($_POST['array_bnames'], $_POST['array_bcodes']), 'ID',
$_POST['array_values']);
我设法做了这样的1个函数只接受一个要更新的列:
public function update_table_where($table_name, $col, $where_col, array $keys, array $values) {
$data_array = array_combine($keys, $values);
foreach($data_array as $where_val=>$set_val) {
$this->db->query("UPDATE $table_name SET $col = '$set_val' WHERE $where_col = '$where_val'");
}
echo "Data had been updated";
}
它的使用方式如下:
update_table_where('table_name', 'column1_name', 'where_column_name', array of values received from ajax reading column1_name);