[ASP.NET] Flash 圖表解決方案 amchart

Standard

最近有個案子希望用上花俏的圖表效果,最好還會動的。

曾經找過 jQuery 的方案 Horizontal Bar Graph in jQuery,也有動態生長效果,但沒有立體;還有另一套也滿有名的 Open Flash Chart,但在 ASP.NET 中使用的方法不是拖拉元件、指定對應屬性那麼直觀,還沒空仔細研究,就先跳過了。

最後覺得在 ASP.NET 環境下,用 amchart 這套圖表元件相當適合,也滿簡單的。屬性與方法相當多,以下只簡單介紹一下用法。

Continue reading

[jQuery] lightbox 彈出時造成頁面上的 Flash 消失

Standard

某個案子使用了 lightbox2 燈箱效果(jQuery 版,jquery-lightbox-0.5.js),而當 lightbox 彈出後,頁面上的 Flash 項目卻都消失了。看了一下 jquery-lightbox-0.5.js 的原始碼,原來是為了避免 Flash 顯示於最上層,也就是跑到 overlay 黑底的上面,而加上蹦現時將 embed、object 與 select 元素隱藏的語法。

其實可以利用 Flash 的 wmode 屬性避免這種現象,同時也可在燈箱效果出現時顯示 Flash(當然,是在 overlay 黑底下方)。
Continue reading

[MySQL] 分數排行榜且不重複列出上榜者(取最高分)

Standard

需求:需製作得分前十名的排行榜,使用者可玩很多次,但我們只要取其最高分的那次
資料表為 tbScore、使用者欄位為 userid、分數欄位為 score、紀錄時間為 ans_time

SELECT A. * 
FROM  `tbScore` AS A
RIGHT JOIN (
SELECT * , MAX( score ) AS cc
FROM  `tbScore` 
GROUP BY userid
) AS XX ON A.score = XX.cc
AND XX.userid = A.userid
ORDER BY score DESC , ans_time DESC 
LIMIT 10

參考資料:http://www.blueshop.com.tw/board/FUM20070627174451T3G/BRD20100312165811FEG.html

[FreeBSD][Apache] Apache 與 IIS 共存於同一 IP 的 80 port (使用 mod_proxy)

Standard

由於非固定制的種花光世代只給申請一個固定 IP,所以想要同時在兩台機器分別跑 Apache 跟 IIS,並且又想要都用 80 port 能連進來,原本以為一定得用 XXX.XXX.XXX.XXX:80 跟 XXX.XXX.XXX.XXX:81 這樣去跑,但 Google 搜尋後,發現竟然可以用 80 port 連進不同的 web server 呢。

目的:
我想用 aaa.com 與 bbb.com 可以分別連進同一 IP 的 80 port 分別位於不同主機上 apache 跟 IIS。
有一台 Router 接種花光世代,固一 IP,內部設定為:IIS主機 使用 1234 port,apache 主機使用 80 port。

Continue reading

[Facebook App] 應用程式開發筆記

Standard

隨手記一下幾個要點,有些是從開發者論壇中找到的,有空會再確認是否是正確的做法。

  1. 以 iframe canvas 模式開發時,要傳遞 POST 變數,form 的 action 可以寫成 action=”save.php?“。這樣在 save.php 就能取得變數。
  2. iframe 頁面自適大小:FB_RequireFeatures 中加入 FB.CanvasClient.startTimerToSizeToContent();,且在 IFrame 大小選擇 Resizable。
  3. FBML 模式中,圖片、CSS 的位置都要寫真實的位置 .. 此外,圖片若會出現一條線的破圖狀況,需加 img { display:block; } 的 CSS。
  4. Facebook API (PHP) 判斷是否為粉絲:
    [code language=”PHP”]
    $facebook->api_client->pages_isFan(‘粉絲團ID值’, ‘使用者FB ID’);
    會返回 Boolean 值。
    [/code]
  5. 非粉絲的畫面要加一個讓使用者點擊就能加入粉絲團的按鈕:
    [code language=”HTML”]
    <iframe scrolling="no" frameborder="0" src="http://www.facebook.com/connect/connect.php?id=粉絲團ID&connections=0&stream=0&locale=zh_TW" allowtransparency="true" style="border: none; width: 280px; height: 65px;"></iframe>
    [/code]

    好吧,我還是習慣叫它加入粉絲團。加入粉絲團現在改成「讚」了喔。

先醬子,有空再做整理囉。

[AS3] 子影片讀取主影片的參數 (ADDED_TO_STAGE)

Standard

場景上的主影片使用 loader 將子影片 load 進來,然後子影片欲取得主影片設定的變數(如本例的 foo),有時候會發生抓不到的情況,但別支子影片卻正常,Google 了一下,找到要用 ADDED_TO_STAGE 這個事件做處理。
確保已經被載入到主場景上,此時再去抓該變數。

addEventListener(Event.ADDED_TO_STAGE, enterDLHandle);
function enterDLHandle(e:Event):void {
  var ROOT = stage.getChildAt(0);
  trace(ROOT.foo);
}

ActionScript 又是另一個領域了,要學習的還很多啊。

[MSSQL] 將資料以特定條件排序後,加上序號並寫回欄位

Standard

問題:資料原本以 sortid 欄位做排序,後台設計可上下調整排序,但某種情況下 sortid 欄位的值產生重複,造成無法正常變更排序。
因此欲重新以 sortid 排序後,加上 ROW_NUMBER() 索引,並將該索引值寫回 sortid 欄位。

環境:MS SQL SERVER 2005

Continue reading

[FreeBSD] ports 安裝舊版本 (以 ImageMagick 為例)

Standard

最近需要用到 ImageMagick,而 ports 上最新的版本是 6.6.0-10 ,但似乎安裝過程中會 make 失敗,所以試著安裝舊的版本。

首先要修改 ports-supfile,在 *default 下多增加一行欲更新軟體版本推出的時間,可以去 http://www.freshports.org 查詢,以本例來說,我想安裝 6.5.7.10 版,推出的時間為 02 Dec 2009 18:54:03,我可以輸入:

Continue reading