本網誌記錄網站設計的一些內容筆記。 網站設計需要整合很多工具與概念。 我畢業自淡江電子計算機科學學系,算是科班出身。但我們那個年代(50年代,唉!LKK了!),網路還只是剛開始,相關的技術都是出社會以後陸續接觸學習。 網站的建立與設計,牽涉的範圍真的很廣泛。 網站的目地是甚麼?銷售網頁、電子購物、廣告、社群經營、互動、教學、客戶服務、網站應用程式、...... 需要整合的人才,程式設計師、資料庫管理師、網頁美編、文字編輯、多媒體製作等等。 這裡將記錄一個LKK對網站系統重新學習與複習,還有教學使用的一些資料。
2022年5月27日 星期五
SC 裡面,直接開啟一個 Application 為新增模式 (sc_apl_conf()函數)
2022年5月21日 星期六
SC - form application - layout裡面的block不對齊
如果 form application 裡面 layout有多個 block,且其中有50%-50%的block,就會發生不對齊的狀況。
使用 chrome 的檢查,查看產出的 html碼,發現產生的 table 的 align='center',如果改為 'left'就可以對齊!應該是因為 center 的設定,對於不同 block 的寬度來說,就會不一樣了。尤其是 一個橫列中藥有兩個block,分別 50%-50%,他們的 寬度就會產生不一樣的情形!
改善:盡量不要使用一列有兩個以上的block的設計!以免自找麻煩!
由Chrome的檢查中,找到 自定義 的 Application Theme 中,修改 CSS
方法:Layout -> Application Theme -> CSS Editor -> Form -> Table -> Others -> Width: 將95%改為100%
這樣,就不會因為align='center',由於寬度不同標準,而產生無法對齊的情形
2022年5月19日 星期四
SC-sc_format_num()應用在 sc_master_value('credit_amt', $value);
sc_lookup(result,"SELECT SUM(credit_amt) FROM gl_voucher_detail WHERE voucher_id = {voucher_id}");
//Using sc_format_num() to format the value that will be updated in the master application
//$value = sc_format_num({result[0][0]},",",".","2","N","1","");
//$value = {result[0][0]};
$value = number_format({result[0][0]},2);
sc_master_value('credit_amt', $value);
經過測試,使用 SC附的 sc_format_num(),出現在 master app上的都是空白!
如果不用 format,直接用SQL出來的值,會產生輸入格式不對!(master app 上的 credit_amt 欄位是 currency Type,小數點2位,我的資料庫欄位型態是 decimal(14,4))
最後使用 php 附的 number_format(value,2) 才解決問題!
這個是應用在 master-detail application 上,將 detail 的多筆加總,更新到 master 的總金額上。
sc_master_value() 這只是 更新 master application 的欄位,並沒有更新到 資料庫中,還需要操作者做儲存,才會更新到資料庫裡。
2022年4月6日 星期三
資料庫資料內容記錄設計的原則
資料庫設計內容記錄的原則,盡量直接紀錄以人眼直觀就可以理解的內容,不要再經過頭腦轉譯。
例如:數字序號的紀錄,跟資料記錄筆數有關的,資料庫紀錄的數字應該就直接是紀錄筆數,而不需要再加一,或減一。
在某些程式語言的陣列 ARRAY,其 index,有0 base、也有 1 base的,這就搞得設計師混亂!程式容易出錯!
希望 讓 CRON 要30秒執行一次
CRON設定是最少一分鐘執行一次。
如果要小於60秒執行一次,就需要額外技巧:配合 sleep 30; 指令完成。
秒數必須是 60秒可以整除的,這樣才不會亂!例如:30秒、20秒、15秒、10秒等。
只要在 CRON 中這樣下:
* * * * <指令1>
* * * * sleep 30; <指令1>
這樣就可以一分鐘內,30秒自動執行一次。
如果是20秒,如下:
* * * * <指令1>
* * * * sleep 20; <指令1>
* * * * sleep 20; <指令1>
這樣就是一分鐘內,執行三次,每20秒一次。
2022年3月19日 星期六
MySQL IF EXIST UPDATE ELSE INSERT
以下提供的是一般在大量倒資料時,會用到的,請僅慎使用!!
================================================================
IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue') THEN
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
INSERT INTO Table1 VALUES (...)
END IF;
================================================================
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
IF @@ROWCOUNT=0
INSERT INTO Table1 VALUES (...)
2022年3月3日 星期四
SC Layout 的 HTML Templates
整個SC是一個完整的HTML APP 開發系統,他可以產生一個HTML頁。
預先設定的 Layout 可以套用 Header Template 以及 Footer Template,中間就留著放主內容Content APP。
如果有 HTML 的 <head></head>的內容要自己安插進去,就必須寫在 Events onApplicationInit 裡面。
然後,<boby></boby>裡面再分為 會系統重複的 header /footer
如何判斷現在FORM是在 insert mode? 還是 update mode?
只要用 if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。
-
3-1 使用 Smarty 一、Smarty基本操作 大原則:和外觀有關的東西都放到.html或.tpl中,所需要的資料全由.php提供,簡單範例,index.php內容: <?php require_once 'smarty/lib...
-
分享:網站上 http://shuai.be/archives/php-undefined-index/ 平時用 $_GET[ ‘ xx ’ ] 取得參數值時,如果之前不加判斷在未傳進參數時會出現這樣的警告 : PHP Notice: undefined i...
-
只要用 if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。