Bonjour à tous!!
Je fais face à un souci dans mon script, c'est au niveau de la requête SQL où se trouve le problème,, besoin d'un éclaircisseement. J'ai deux fichiers, un fichier Model_stagiaire.php et un fichier form_stagiaire.php
Voici le script pour le fichier Model_stagiaire.php
require_once('../model/Cnx.php');
class Model_Stagiaire extends Cnx
{
private $nom;
private $data;
private $offset;
private $size;
public function getAll_Stag($nom, $size, $offset){
$pdo = $this->connect();
$this->data = [];
$this->nom = $nom;
$this->size = $size;
$this->offset = $offset;
$req = "SELECT * FROM tbl_stagiaire_sta AS S, tbl_filiere_fil AS F
WHERE F.fil_id = S.fil_id AND
(S.sta_nom LIKE '%".$this->nom."%'
OR S.sta_prenom LIKE '%".$this->nom."%')
LIMIT '".$this->size."' OFFSET '".$this->offset."' ";
$res = $pdo->query($req);
$this->data = $res->fetchAll(PDO::FETCH_ASSOC);
return $this->data;
}
}
Voici le script pour le fichier form_stagiaire.php
require_once('../model/Model_Stagiaire.php');
$stagiaire = new Model_Stagiaire();
$lines = $stagiaire->getAll_filiere();
$nom = isset($_GET['nom'])?$_GET['nom']:'';
$filiere = isset($_GET['filiere'])?$_GET['filiere']:0;
$size = isset($_GET['size'])?$_GET['size']:5;
$page = isset($_GET['page'])?$_GET['page']:1;
$offset = ($page - 1) * $size;
$rows = $stagiaire->getAll_Stag($nom, $size, $offset);
l'idée est de réaliser une liste de stagiaire qui sera paginée et qui sera affichée dans le fichier form_stagiaire.php
Malheureusement, le script me renvoit l'erreur suivante:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de ''5' OFFSET '-5'' à la ligne 3 in
Par contre, quand je retire LIMIT et OFFSET, le script fonctionne convenablement