/** * แก้ไขข้อมูล. * * @param string $table ชื่อตาราง * @param array|string $idArr id ที่ต้องการแก้ไข หรือข้อความค้นหารูปแอเรย์ [filed=>value] * @param array $recArr ข้อมูลที่ต้องการบันทึก * * @return bool สำเร็จ คืนค่า true */ public function edit($table, $idArr, $recArr) { try { $keys = array(); $values = array(); foreach ($recArr as $key => $value) { $keys[] = "`{$key}`=:{$key}"; $values[":{$key}"] = $value; } if (is_array($idArr)) { $datas = array(); foreach ($idArr as $key => $value) { $datas[] = "`{$key}`=:{$key}"; $values[":{$key}"] = $value; } $where = sizeof($datas) == 0 ? '' : implode(' AND ', $datas); } else { $id = (int) $idArr; $where = $id == 0 ? '' : '`id`=:id'; $values[':id'] = $id; } if ($where == '' || sizeof($keys) == 0) { return false; } else { $sql = "UPDATE `{$table}` SET " . implode(',', $keys) . " WHERE {$where} LIMIT 1"; $query = $this->connection->prepare($sql); $query->execute($values); ++$this->time; return true; } } catch (PDOException $e) { Gcms::debug($e->getMessage()); return false; } }
/** * แก้ไขข้อมูล. * * @param string $table ชื่อตาราง * @param array|string $idArr id ที่ต้องการแก้ไข หรือข้อความค้นหารูปแอเรย์ [filed=>value] * @param array $recArr ข้อมูลที่ต้องการบันทึก * * @return bool สำเร็จ คืนค่า true */ public function edit($table, $idArr, $recArr) { if (is_array($idArr)) { $datas = array(); foreach ($idArr as $key => $value) { $datas[] = "`{$key}`='{$value}'"; } $id = implode(' AND ', $datas); } else { $id = (int) $idArr; $id = $id == 0 ? '' : "`id`='{$id}'"; } if ($id == '') { return false; } else { $datas = array(); foreach ($recArr as $key => $value) { $datas[] = "`{$key}`='{$value}'"; } $sql = "UPDATE `{$table}` SET " . implode(',', $datas) . " WHERE {$id} LIMIT 1"; $query = @mysql_query($sql, $this->connection); if ($query == false) { Gcms::debug(mysql_error($this->connection)); return false; } else { ++$this->time; return true; } } }