2014年5月28日 星期三

【MYSQL、MSSQL】複製資料表、複製一筆資料

1.複製一個資料表
MySQL 建議使用下面的方式,好處是 Schema 會一樣
  1. CREATE TABLE new_table LIKE old_table;
  2. INSERT new_table SELECT * FROM old_table
MSSQL 要使用 SELECT * INTO new_table FROM old_table
只複製結構 SELECT * INTO new_table FROM old_table WHERE 1=0

2.複製一筆資料
MySQL、MSSQL 都可使用

INSERT INTO test(
id,
        name,
test1,
test2
)
SELECT
3 AS id,
name,
'test' AS test1,
test2
FROM test
WHERE id =1

* 要複製原來的值就不用AS

3.運用
當資料量大,查詢時可將一個表拆成多個表
如:
Insert Into new_table (學號, 姓名,國文,英文,數學)
Select * From old_table Where 英文>90

2014年5月15日 星期四

【Jquery】商品切換效果

範例一:右下左飄走
範例網址:演示



範例二:往右消失
範例網址:演示1  演示2

2014年5月8日 星期四

【PHP】截取中文字

2014年5月7日 星期三

【PHP】檔案寫入

網站範例連結



2014年5月6日 星期二

【PHP】匯入EXL

phpExcelReader 載點
使用方法:

PHPExcel:

2014年4月17日 星期四

【PHP】用PHP讀取FB是否按讚及貼塗鴉牆

1.到FB developers取得 appId 及 secret
網址:http://developers.facebook.com
新增一個新的應用程式















裡面就可以看到應用程式編號及密碼










2.設定網址
點選設定並新增平台後輸入網址













3.下載php sdk
點選文件->PHP就可看到download

4.取得基本資料
require_once('fb_libs/facebook.php'); // 依下載位置改變路徑
$facebook = new Facebook(array(
'appId'  => '上面申請的應用程式編號',
 'secret' => '上面申請的密碼',
 'cookie' => true,
 'allowSignedRequest' => false
));

$user = $facebook->getUser();

if ($user) {
$me = $facebook->api('/me/'); // 取得基本資料
print_r($me);
$likes = $facebook->api('/me/likes/162795133784235'); // 取得此帳號是否有按此LIKE 註1
        print_r($likes);
$likes = $facebook->api('/me/likes'); // 取得按了什麼讚
print_r($likes);

        //  FB 塗鴉牆
        $ret_obj = $facebook->api('/me/feed', 'POST',array(
'link' => 'http://www.sanjing3c.com.tw/',
'message' => '三井3c購物網
));
        print_r($ret_obj ); // 取得貼文的ID
} else {
        // 沒登入給使用者登入
       $params = array('scope'=>'email,user_birthday,read_stream,publish_actions'); // 權限設定
$login_url = $facebook->getLoginUrl($params); // 權限分很多種、不同功能要用不同的
echo '登入FB <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}


登出
setcookie('fbs_'.$facebook->getAppId(), '', time()-100, '/', 'sanjing3c.com.tw');
session_destroy();


fql.query

$result = $facebook->api(array(
               'method' => 'fql.query',
               'query' => "SELECT uid FROM page_fan WHERE uid = '".$user."' "
    ))
print_r($result);

註1 : 這邊的ID可以到 https://developers.facebook.com/docs/plugins/like-button 貼上網址取得

2014年4月7日 星期一

【Jquery】自己寫的簡易連續跑馬燈

CSS:
程式部分:
HTML:

2014年3月8日 星期六

【PHP】使用從資料庫取出的 datetime 型態

當我們從資料庫取出 Datetime 型態出來,
dump 出來會變成:
object(DateTime)#14 (3) { ["date"]=> string(19) "2014-03-07 01:38:11" ["timezone_type"]=> int(3) ["timezone"]=> string(11) "Asia/Taipei" }

轉換成變數方法:
例如從資料庫抓出 date 欄位
$rs['date']->format("Y-m-d")
可依自己需求改變 format 格式

2014年2月11日 星期二

[apache] 轉址

1. rewrite 要打開

2. vhost 加上下面程式,網址打 www.abc.idv.tw 網址會轉到 www.abc.com
<VirtualHost *:80>
    ServerAdmin wsxrtgvbuikm@hotmail.com
    DocumentRoot "/home/user/web"
    ServerName www.abc.idv.tw
    RewriteEngine on
    RewriteRule ^(.*) http://www.abc.com$1 [R=301,L]
</VirtualHost>

3. 在 httpd.cnf 或 .htaccess 加上
Redirect /yahoo  http://tw.yahoo.com  -> 打上 www.abc.idv.tw/yahoo 會轉到 tw.yahoo.com
Redirect /google  http://www.google.com

2014年2月7日 星期五

[apache] windows中優化apache

Windows 與 linux 的回收機制和進程管理不同

1. http-mpm.conf設置
修改 httpd.conf 將 #Indude conf/extra/httpd-mpm.conf 去掉#
開啟 extra/httpd-mpm.conf 裡面有很多設定,但只有下方的設定有效果


ThreadsPerChild
是Apache進程的子線程數,這個指令設置了每個子進程建立的線程數。子進程在啟動時建立這些線程後就不再建立新的線程了。
不能設定太大會當機

待續...

參考資料:
http://www.pigo.idv.tw/archives/1708
http://www.piaoyi.org/php/Windows-Apache-mpm_winnt_module.html