2015年7月24日 星期五

scriptcase upload file

中文檔名,不行!
英文檔名,size較小,可以成功,但檔案較大,就不行!
將 php.ini 裡面的
upload_max_filesize = 64M ==> 512M
upload_max_filesize, 
memory_limit, 
post_max_size
max_execution_time

放大後,就可以成功了!

上傳的位置放在 /_lib/file/ 裡面 docnn  nn為id,設定在該form裡面。
他並沒有依照 form 裡面的 Application -> Settings->Document Path 裡的設定放置

如果選擇的是 field datatype -> images(file name),也不會放在 application -> settings -> Image Directory 裡面!

Scriptcase 裡面還是一堆 Bugs!

唉!究竟是我誤解了呢?還是 Bugs!


==============================

multi-upload 功能似乎僅能適用在 Document(database),也就是儲存在 mysql BLOB裡面才可以。用Filename 似乎不行ㄟ!

但是,我不想把附加的檔案文件放到BLOB中,那樣會讓 database太大,以後會麻煩的。






2015年7月22日 星期三

用MySQL的Trigger 自動產生會員編號

想要自己編會員編號,不想用mysql 的 auto-increment自動編號功能。
而這個編號,可能會在不同的 AP 開放輸入,所以,最好的產生方式,是放在資料庫裡面自動產生,所以,就動了 Trigger 的念頭。

經過研究,寫了下面這段:


CREATE TRIGGER `get_ext_id` BEFORE INSERT ON `members`
 FOR EACH ROW BEGIN

    DECLARE v_last_id , v_new_id INT;

    SELECT members_last_id INTO v_last_id FROM members_last_id;
    SET v_new_id = v_last_id + 1;
    UPDATE members_last_id SET members_last_id = v_new_id;
    SET NEW.members_ext_id = LPAD(v_new_id,10,'0');

END


members_last_id 是另外建立的一個 table,裡面只有一個欄位,也叫做:members_last_id,而且只有一筆記錄,就是記錄著欲產生的會員編號的最後一號。

就這樣,可以自動從資料庫裡面,每當有新增時,就會自動產生會員編號。

2015年7月21日 星期二

Scriptcase 建立文字的會員編號

$tmp_str_id = str_pad({members_id}, 10, '0', STR_PAD_LEFT);
// SQL statement parameters
$update_table  = 'members';      // Table name
$update_where  = "members_id = {members_id}"; // Where clause
$update_fields = array(   // Field list, add as many as needed
     "members_ext_id = '$tmp_str_id'"
 );
// Update record
$update_sql = 'UPDATE ' . $update_table
    . ' SET '   . implode(', ', $update_fields)
    . ' WHERE ' . $update_where;
sc_exec_sql($update_sql);

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。