Maison  >  Questions et réponses  >  le corps du texte

Comment appeler la procédure stockée de pagination de SQLserver en php

Comment appeler la procédure stockée de pagination avec une valeur de retour lorsque php se connecte à sqlserver à l'aide de la méthode PDO ?

ALTER PROC [dbo].[sp_PageView]

@tbname varchar(128),  --Le nom de la table à afficher dans les pages

@FieldKey varchar(1000),  --La clé primaire (clé unique) champ utilisé pour localiser les enregistrements, peut être composé de plusieurs champs séparés par des virgules

@PageCurrent int=1,         --Le numéro de page à afficher

@PageSize   int=10,                     --La taille de chaque page (nombre d'enregistrements)

@FieldShow varchar(1000)= '', --Liste des champs séparés par des virgules à afficher, s'ils ne sont pas spécifiés, tous les champs seront affichés

@FieldOrder varchar(1000)='', --Liste séparée par des virgules de champs triés, qui peuvent être spécifiés après le champ Spécifier DESC/ASC

-- Utilisé pour spécifier l'ordre de tri

@Where varchar(1000)='', --Conditions de requête

@RecordCount Int Output, -- Nombre total d'enregistrements

@PageCount int OUTPUT --Total page Ci-dessus sont les paramètres de la procédure stockée

$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;Après l'exécution, le nombre total final de pages dans le jeu d'enregistrements s'affiche sous la forme 0.

孤独岛孤独岛1037 Il y a quelques jours668

répondre à tous(2)je répondrai

Pas de réponse
  • Annulerrépondre