2013年8月13日 星期二

分享精心挑選的12款優秀 jQuery Ajax 分頁插件和教程

source: http://www.hksilicon.com/kb/articles/82036/12-jQuery-Ajax


jQuery Pagination Plugin

這款分頁插件雖然效果簡潔,但是是學習 jQuery 翻頁功能非常好的例子。
jQuery Pagination Plugin with example & demo



You can check out a demo here.
And download the source code here.

php sqlsrv 的分页代码该怎么写?

source: http://www.zzwlgs.com/ask/q-3.html

//為了避免重複包含檔而造成錯誤,加了判斷函數是否存在的條件:
if(!function_exists("pageft"))
{
//定義函數pageft(),三個參數的含義為:
//$totle:資訊總數;
//$displaypg:每頁顯示資訊數,這裡設置為默認是20;
//$url:分頁導航中的連結,除了加入不同的查詢資訊“page”外的部分都與這個URL相同。
//   預設值本該設為本頁URL(即$_SERVER["REQUEST_URI"]),但設置預設值的右邊只能為常量,所以該預設值設為空字串,在函數內部再設置為本頁URL。
//$shu:是頁面傳過來的值
function pageft($totle,$displaypg=20,$url='',$shu){
//定義幾個全域變數:
//$page:當前頁碼;
//$firstcount:(資料庫)查詢的起始項;
//$pagenav:頁面導航條代碼,函數內部並沒有將它輸出;
//$_SERVER:讀取本頁URL“$_SERVER["REQUEST_URI"]”所必須。
global $firstcount,$pagenav,$_SERVER;
$page=$shu;
//為使函數外部可以訪問這裡的“$displaypg”,將它也設為全域變數。注意一個變數重新定義為全域變數後,原值被覆蓋,所以這裡給它重新賦值。
$GLOBALS["displaypg"]=$displaypg;
if(!$page) $page=1;
//如果$url使用默認,即空值,則賦值為本頁URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
//URL分析:
$parse_url=parse_url($url);
$url_query=@$parse_url["query"]; //單獨取出URL的查詢字串
if($url_query)
{
//因為URL中可能包含了頁碼資訊,我們要把它去掉,以便加入新的頁碼資訊。
//這裡用到了規則運算式,請參考“PHP中的正規運算式”(http://www.webjx.com/htmldata/2005-02-25/1109263261.html)
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
//將處理後的URL的查詢字串替換原來的URL的查詢字串:
$url=str_replace($parse_url["query"],$url_query,$url);
//在URL後加page查詢資訊,但待賦值:
if($url_query)
$url.="&page";
else
$url.="page";
}else {
$url.="?page";
}

$lastpg=ceil($totle/$displaypg); //最後頁,也是總頁數
$page=min($lastpg,$page);
$prepg=$page-1; //上一頁
$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁
$firstcount=($page-1)*$displaypg;
//開始分頁導航條代碼:
$pagenav="顯示第 ".($totle?($firstcount+1):0)."-".min($firstcount+$displaypg,$totle)." 條記錄,共 $totle 條記錄
";
//如果只有一頁則跳出函數:
if($lastpg<=1) return false;
$pagenav.=" 首頁 ";
if($prepg) $pagenav.=" 前頁 "; else $pagenav.=" 前頁 ";
if($nextpg) $pagenav.=" 後頁 "; else $pagenav.=" 後頁 ";
$pagenav.=" 尾頁 ";
//下拉跳轉列表,迴圈列出所有頁碼:
$pagenav.=" 到第
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="\n";
else $pagenav.="\n";
}
$pagenav.="
頁,共 $lastpg 頁"; }
}
?>

2013年8月9日 星期五

php sqlsrv 如何顯示出欄位名稱

http://phorum.study-area.org/index.php?topic=67395.0

while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC ) ) { 
if (++$i == 1) { // 第一筆資料顯示欄位名稱 
echo " "; 
foreach (array_keys($row) as $val) { 
echo "".$val.""; 

echo "
". "\n" ; 


echo " "; 
foreach ($row as $val) { 
echo "".$val.""; 

echo "". "\n" ; 
}

微軟的PHP連接SQL Server數據庫(Microsoft Drivers for PHP for SQL Server )

source: http://blog.csdn.net/xxhysj/article/details/8207982

PHP自帶的php_mssql.dll文件已經滿足不了sql server2005及其以上版本的使用了。微軟也隨之發布了SQL Server Driver for PHP來做相應的支持。
其中SQL Server Driver for PHP有兩個版本支持不同的php版本。
1.SQL Server Driver for PHP2.0版本適用於PHP 5.2.x版本
2.SQL Server Driver for PHP3.0版本適用於PHP 5.3.x版本

具體操作如下:
1)按上述地址下載驅動包;
2)將DLL文件解壓到PHP extension_dir目錄
      extension_dir = "X:\PHP\ext"
3)在php.ini配置文件內引用相應的動態鏈接庫文件
      extension=php_sqlsrv_52_ts_vc6.dll
      extension=php_pdo_sqlsrv_52_ts_vc6.dll
       extension=php_pdo.dll
4)重啟Apache
5)連接數據庫
  1. /* Specify the server and connection string attributes. */  
  2. $serverName  =  "(local)" ;  
  3. $connectionInfo  =  array (  "Database" => "AdventureWorks" );  
  4.   
  5. /* Connect using Windows Authentication. */  
  6. $conn  = sqlsrv_connect(  $serverName ,  $connectionInfo );  
  7. if (  $conn  === false )  
  8. {  
  9.      echo  "Unable to connect." ;  
  10.      die ( print_r( sqlsrv_errors(), true));  
  11. }  
  12.   
  13. /*  Query SQL Server for the login of the user accessing the 
  14. database. */  
  15. $tsql  =  "SELECT CONVERT(varchar(32), SUSER_SNAME())" ;  
  16. $stmt  = sqlsrv_query(  $conn ,  $tsql );  
  17. if (  $stmt  === false )  
  18. {  
  19.      echo  "Error in executing query." ;  
  20.      die ( print_r( sqlsrv_errors(), true));  
  21. }  
  22.   
  23. /* Retrieve and display the results of the query. */  
  24. $row  = sqlsrv_fetch_array( $stmt );  
  25. echo  "User login: " $row [0]. "" ;  
  26.   
  27. /* Free statement and connection resources. */  
  28. sqlsrv_free_stmt(  $stmt );  
  29. sqlsrv_close(  $conn );  
  30. ?>  

注:API 參考(SQL Server Driver for PHP)
用於SQL Server Driver for PHP的API名稱是sqlsrv。所有sqlsrv函數都以sqlsrv_打頭,後跟動詞或名詞。後跟動詞的函數用於執行特定操作,而後跟名詞的函數用於返回特定形式的元數據。


SQL Server Driver for PHP 包含以下函數:
函數
說明
開始事務。
取消語句;並放棄相應語句的所有未決結果。
提供有關客戶端的信息。
關閉連接。釋放與相應連接關聯的所有資源。
提交事務。
更改錯誤處理和日誌記錄配置。
創建一個連接,並將其打開。
返回關於上一操作的錯誤和/或警告信息。
執行預定義語句。
使下一行的數據可供讀取。
以數值索引數組、關聯數組或這兩種數組的形式檢索下一行的數據。
以對象形式檢索下一行的數據。
返回字段元數據。
關閉語句。釋放與相應語句關聯的所有資源。
返回指定配置設置的值。
按索引檢索當前行中的字段。可以指定PHP 返回類型。
檢測結果集是否具有一行或多行。
使下一結果可供處理。
報告結果集中的行數。
檢索活動結果集中的字段數。
準備Transact-SQL 查詢,但不執行該查詢。隱式綁定參數。
準備Transact-SQL 查詢,並將其執行。
回滾事務。
返回有所修改的行的數目。
在每次調用函數時向服務器發送最多八千字節(8 KB) 的數據。
提供有關服務器的信息。






2013年8月6日 星期二

SQL Server Native Client 的支援原則

http://msdn.microsoft.com/zh-tw/library/cc280356.aspx

下表將列出哪些作業系統支援 SQL Server Native Client。
SQL Server Native Client 版本
支援的作業系統
SQL Server Native Client (SQL Server 2005)
  • Microsoft Windows 2000 Service Pack 4 或更新版本
  • Microsoft Windows Server 2003 或更新版本
  • Microsoft Windows XP Service Pack 1 或更新版本
  • Microsoft Windows Vista (需要 SQL Server Service Pack 2 或更新版本)
  • Microsoft Windows Server 2008 (需要 SQL Server Service Pack 2 或更新版本)
SQL Server Native Client 10.0 (SQL Server 2008)
  • Microsoft Windows Server 2003 Service Pack 2 或更新版本
  • Microsoft Windows XP Service Pack 2 或更新版本
  • Microsoft Windows Vista
  • Microsoft Windows Server 2008
SQL Server Native Client 10.5 (SQL Server 2008 R2)
  • Microsoft Windows Server 2003 Service Pack 2 或更新版本
  • Microsoft Windows XP Service Pack 2 或更新版本
  • Microsoft Windows Vista
  • Microsoft Windows Server 2008
  • Microsoft Windows 7
SQL Server Native Client 11.0 (SQL Server 2012)
  • Microsoft Windows Vista
  • Microsoft Windows Server 2008
  • Microsoft Windows 7



http://msdn.microsoft.com/en-us/library/cc296170.aspx


2013年7月16日 星期二

計算兩個日期差距幾天-sql server版本



如果欄位並非日期格式的話 要先轉換成日期格式
CONVERT(datetime,日期欄位1),CONVERT(datetime,日期欄位2)
然後再將轉換好的丟進去做運算
DATEDIFF(datepart ,startdate,enddate)

所以結合一下 就可以寫成下面的方式
DATEDIFF (day,CONVERT(datetime,日期欄位1),CONVERT(datetime,日期欄位2))

備註 參數的部份 可以替換
日期部分
縮寫
yy、yyyy
qq、q
mm、m
一年當中的第幾天
dy、y
dd、d
wk、ww
星期幾
dw
hh
mi、n
ss、s
毫秒
ms



--------------------ASP .NET 日期相減問題--------------------------
ASP .NET VB


      Dim a As String = "0950807"
       Dim b As String = "0700925"
       Dim c As String = (Mid(a, 1, 3) + 1911) & "/" & Mid(a, 4, 2) & "/" & Mid(a, 6, 2)
       Dim d As String = (Mid(b, 1, 3) + 1911) & "/" & Mid(b, 4, 2) & "/" & Mid(b, 6, 2)
       Dim Day As Integer = (DateValue(c) - DateValue(d)).Days
       Dim YMD As Date = DateValue("0001/12/31").AddDays(Day).AddYears(-2).Date
       Response.Write("相差" & Day & "天
")
       Response.Write("相差" & YMD.Year & "年" & YMD.Month & "月" & YMD.Day & "日")
       Response.Write("
")
       Response.Write(Format(YMD, "yyyy/MM/dd"))


資料來源: http://www.blueshop.com.tw/board/.../BRD200608071555506PL.html