public static function update($data, $id) { $conn = Database::getInstance()->getDatabase(); $cliente = ClienteModel::getByName($data['cliente'])['id']; $promocion = $data['promocion']; $fecha_inicio = $data['fecha_de_inicio']; $fecha_fin = $data['fecha_de_fin']; $fecha_prevista = $data['fecha_prevista']; $estado = EstadoModel::getByDescripcion($data['estado'])['id']; $ssql = "UPDATE proyecto SET cliente = :cliente, fecha_inicio = :fecha_inicio,\n\t\tfecha_prevista = :fecha_prevista, estado = :estado"; if ($promocion != 'ninguna') { $ssql .= ", promocion = :promocion"; } if (!empty($fecha_fin)) { $ssql .= ", fecha_fin = :fecha_fin"; } else { $ssql .= ", fecha_fin = null"; } $ssql .= ' WHERE id = :id'; $query = $conn->prepare($ssql); $query->bindParam(':cliente', $cliente); $query->bindParam(':fecha_inicio', $fecha_inicio); $query->bindParam(':fecha_prevista', $fecha_prevista); $query->bindParam(':estado', $estado); $query->bindParam(':id', $id); if ($promocion != 'ninguna') { $promocion = PromocionModel::getByCode($promocion)['id']; $query->bindParam(':promocion', $promocion); } if (!empty($fecha_fin)) { $query->bindParam(':fecha_fin', $fecha_fin); } $query->execute(); return $query->rowCount(); }