2014年5月6日 星期二

PHP date()

PHP Date 函數使用介紹

使用 date() 函數取得伺服器的日期與時間,並格式化。date() 函數必須根據伺服器的設定取值,也就是說取得的日期與時間決定於你的伺服器時間設定。date()函數是 PHP 內建好的函式,也是非常普遍使用的函式,不需要和外安裝就可以使用囉!

PS.通常台灣網友在使用美國虛擬主機會碰到時區不同的問題,這個解決方式後面再介紹,先來了解如何使用此函數。

string date ( string $format [, int $timestamp ] )
  • format:必填,用來規定時間格式。
  • timestamp:非必填,預設為當時的日期與時間。
timestamp 時間戳代表的是從1970 年 1 月 1 日(00:00:00 GMT)開始到現在的時間,以秒為計算單位。有時候也被稱為 Unix 時間戳(Unix timestamp),在 PHP Date() 函數中,timestamp 是可以不一定需要填寫的。

format 常用參數與代表的意義

與日相關的參數
d:取得以月份為統計方式的日期,寫法:date("d");
D:取得當天是星期幾的簡單表示法,如:Mon,寫法:date("D");
j:取得當天的日期,1~31日,前面有零不補零,寫法:date("j");
l :取得當天是星期幾的完整寫法,如:Monday,寫法:date("l");
w:以數字表示當天的星期幾,例如星期日則為 0,寫法:date("w");

與週相關的參數
W:以數字表示當年的第幾週,例如第五週則為 5,寫法:date("W");

與月相關的參數
F:以英文字完整表示當月的月份,例如:January。寫法:date("F");
m:以數字表示當月的月份,例如:01。寫法:date("m");
M:以簡短的三個英文字母表示當月的月份,例如:Jan。寫法:date("M");
n:數字表示月份,前面沒有零。寫法:date("n");
t:當月天數,1~31。寫法:date("t");

與年相關的參數
Y:四位數年,例如 2011。寫法,date("Y");
y:二位數年,例如 99 或 11。寫法,date("y");

Time 相關參數
a:顯示 am 或 pm。寫法:date("a");
A:顯示 AM 或 PM。寫法:date("A");
g:顯示12小時格式,前方不帶零。寫法:date("g");
G:顯示24小時格式,前方不帶零。寫法:date("G");
h:顯示12小時格式,前方帶零。寫法:date("h");
H:顯示24小時格式,前方帶零。寫法:date("H");
i:分,00~59。寫法:date("i");
s:秒,00~59。寫法:date("s");

PHP 利用 Date 取得時間的一些範例

年-月-日 時:分:秒的寫法:date("Y-m-d H:i:s");

echo date("Y-m-d H:i:s");
輸出 2011-01-24 08:14:19

echo date("m.d.y");
輸出 01.24.11

echo date('Y年 m月 d日');
輸出 2011年 01月 24日

echo date("Ymd");;
輸出 20110124

echo date('h-i-s, j-m-y, it is w Day');
輸出 08-18-50, 24-01-11, 1831 1850 1 Monam11

echo date('\i\t \i\s \t\h\e jS \d\a\y.');
輸出 it is the 24th day.

echo date("D M j G:i:s T Y");
輸出 Mon Jan 24 8:20:45 UTC 2011

日期格式
<?php

$time = '2011-12-29 12:21';

$reg = "/^[0-9]{4}(\-|\/)[0-9]{1,2}(\\1)[0-9]{1,2}(|\s+[0-9]{1,2}(:[0-9]{1,2}){0,2})$/";

if (preg_match($reg,$time)){

   echo 1;

}else{

   echo 0;

}

?>
http://blog.upall.cn/779.html

參考:

http://www.webtech.tw/info.php?tid=25

http://www.wibibi.com/info.php?tid=282

2014年3月4日 星期二

javascript eval()

document.order.T1.value=document.order.Q1.value*document.order.P1.value;
document.order.T2.value=document.order.Q2.value*document.order.P2.value;
document.order.T3.value=document.order.Q3.value*document.order.P3.value;

等同

var form=document.order;
for (var i=1;i<=3;i++){
  • eval('form.T'+i+'.value=form.Q'+i+'.value(form.P'+i+'.value');

}  




http://audi.tw/Blog/Javascript/javascript.eval.asp

2014年1月8日 星期三

jquery slideDown延遲展開,排除反覆顯示



$(document).ready(function(){
     var mouseover_tid = [];
     var mouseout_tid = [];






     $('ul.main_menu>li').hover(//第一層
           function(event){  //滑入

                var _self = this;
                // 停止卷起事件
                clearTimeout(mouseout_tid[$(this).index()]);
                // 當滑鼠滑入超过 0.4 秒, 即展開,並紀錄陣列 ID 中
                mouseover_tid[$(this).index()] = setTimeout(function() {
                      $(_self).find('ul.submenu').slideDown('fast');  //第二層展開
                }, 400);
           },
           function(event){    //滑出
                var _self = this;
                // 停止展開事件
                clearTimeout(mouseover_tid[$(this).index()]);
                // 當滑鼠離超過 0.4 秒, 即收起, 並記錄陣列 ID 中
                mouseout_tid[$(this).index()] = setTimeout(function() {
                      $(_self).find('ul.submenu').slideUp('fast'); //第二層收起
                }, 400);
          }
});










參考/延伸資料:


var t = setTimeout( function(){   m動作    }, n毫秒 );   達n秒執行m    只執行一次
clearTimeout(t);  停止執行m
Note: To be able to use the clearTimeout() method, you must use a global variable when creating the timeout method


http://www.cnblogs.com/ishibin/archive/2013/01/30/2883822.html  
http://www.w3schools.com/jsref/met_win_settimeout.asp
http://www.w3schools.com/jsref/met_win_cleartimeout.asp




var s = setInterval(function, 1000) 每秒執行
window.clearInterval(s); 
http://yiyingloveart.blogspot.tw/2013/04/settimeout-setinterval.html
http://www.w3school.com.cn/htmldom/met_win_setinterval.asp







下拉選單 某值 不可選

標題群組


  <SELECT>  
   <OPTGROUP label="麵包">  
        <OPTION selected>起司麵包</OPTION>  
        <OPTION>菠蘿麵包</OPTION>  
       <OPTION>草莓麵包</OPTION>  
       <OPTION>布丁麵包</OPTION>  
   </OPTGROUP>  
   <OPTGROUP label="蛋糕">  
        <OPTION>奶油布丁蛋糕</OPTION>  
        <OPTION>冰淇淋蛋糕</OPTION>  
        <OPTION>水果蛋糕</OPTION>  
   </OPTGROUP>  
</SELECT> 




參考: http://www.blueshop.com.tw/board/FUM20041006152641OLG/BRD20091007215357WBF.html








特定選項不能選
<script type="text/javascript">
function treat(sel)
{ nochoice = [0,1,4,5]
  for ( var num in nochoice )
    sel.options[nochoice[num]].selected = false
}
</script>

<select name="select2" size="5" multiple class="p12" id="select2"
onchange="treat(this)">
<option selected>-------------------------------</option>
<option>[標題一]</option>
<option>aaa</option>
<option>bbb</option>
<option>----------------------------------------</option>
<option>[標題二]</option>
<option>ccc</option>
<option>ddd</option>
</select>





參考: http://tw.knowledge.yahoo.com/question/question?qid=1009100708010

2013年12月17日 星期二

SQL ORDER BY with LIKE

SELECT name 
FROM table 
WHERE name LIKE "%John%" 
ORDER BY (CASE WHEN name = "John" THEN 1 WHEN name LIKE "John%" THEN 2 ELSE 3 END),name LIMIT 10 ;


參考資料:
http://stackoverflow.com/questions/10070508/sqlite-like-order-by-match-query

2013年12月10日 星期二

input radio 點文字checked

<input type="radio" id="sex1" name="sex" value="M"  /><label for="sex1">male</label>

<input type="radio" id="sex2" name="sex" value="F"  /><label for="sex2">female</label>




參考資料:
http://blog.xuite.net/bluishbox/code/61378093-%5BHTML%5D+%E9%BB%9E%E9%81%B8+radio+%E5%BE%8C%E8%AE%8A%E8%89%B2


http://www.blueshop.com.tw/board/show.asp?subcde=BRD20081001220501J6M



http://pattyshih66.pixnet.net/blog/post/145680918-%E2%92%BF-%E4%BD%BF%E7%94%A8javascript%E5%8F%96%E5%BE%97radio%E5%92%8Cselect%E7%9A%84%E5%80%BC

2013年12月4日 星期三

Ajax + PHP + Jquery onblur

A.php
<script> 
  $(document).ready(function(){
//檢查帳號是否存在
$('#username').blur(function(){
var acc = document.getElementById("username").value;
$.ajax({url: '../db_select/db_member.php?acc='+acc, type: 'GET'})
  .done(function(response){
var msg = response; //因型態問題,須設置在變數中
if(msg == "no"){ //帳號不存在
$('#username').css({
'color' : '#F00'
});
$('#username').val('無此帳號!');
}
  });
});
});
</script>
<input name="username" type="text" id="username" />


db_member.php

$acc = "-1";
if (isset($_GET['acc']) && $_GET['acc'] != "") {
  $acc = (get_magic_quotes_gpc()) ? $_GET['acc'] : addslashes($_GET['acc']);
}
mysql_select_db($database_labor, $labor);
$sql = sprintf("SELECT acc FROM memberWHERE acc= '%s'", $acc);
$result = mysql_query($sql, $labor);
$row = mysql_fetch_assoc($result);
$total = mysql_num_rows($result);

if($total > 0){
echo "yes";
}else{
echo "no";
}

此時db_member.php就會回傳到A.php接收



參考資料:
http://stackoverflow.com/questions/12384166/send-ajax-request-when-textfields-onblur-event-is-fired

http://stackoverflow.com/questions/10886782/ajax-checking-username-onblur