php 如何呼叫sqlserver的分頁儲存過程
孤独岛
孤独岛 2021-11-05 13:52:01
0
2
647

php用PDO 方式連接的sqlserver ,怎麼呼叫帶回傳值的分頁儲存過程呢?

ALTER PROC [dbo].[sp_PageView]

##@tbname varchar(128), --要分頁顯示的表名

# #@FieldKey varchar(1000), -用於定位記錄的主鍵(惟一鍵)字段,可以是逗號分隔的多個字段

@PageCurrent int=1, --要顯示的頁碼

#@PageSize int=10 , --每頁的大小(記錄數)

@FieldShow varchar(1000)='', --以逗號分隔的要顯示的欄位清單,如果不指定,則顯示所有欄位

@FieldOrder varchar(1000)='', --以逗號分隔的排序欄位清單,可以指定在欄位後面指定DESC/ASC

-- 用於指定排序順序

@Where varchar(1000)='', --查詢條件

@RecordCount Int Output, --記錄總數

@PageCount int OUTPUT # 記憶總數

##@PageCount int OUTPUT # | #以上是儲存過程的參數設定

$stmt = $conn->prepare("EXEC $procName ?, ?, ?, ?, ?, ?, ?,?,?");$stmt ->bindParam(1, $tablename, PDO::PARAM_STR );$stmt->bindParam(2, $FieldKey, PDO::PARAM_INT );$stmt->bindParam(3, $Pagecurrent, PDO::PARAM_INT );$stmt->bindParam(4, $Pagesize, PDO::PARAM_INT );$stmt->bindParam(5, $FieldShow, PDO::PARAM_STR );$stmt->bindParam(6, $FieldOrder, PDO::PARAM_STR );$stmt->bindParam(7, $Where, PDO::PARAM_STR );$stmt->bindParam(8, $recordcount, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 4);$ stmt->bindParam(9, $PageCount, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 4);

$stmt->execute();

#$row = $stmt ->fetchAll(PDO::FETCH_ASSOC);echo json_encode($row,JSON_UNESCAPED_UNICODE);print "";

echo $PageCount;運行後,記錄集有了最後的總頁數顯示為0 。

#

孤独岛
孤独岛

全部回覆 (0)
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!