function getAnnonceCategorie($id_cat){
global $bdd;
$page = (!empty($_GET["page"]) )? intval($_GET["page"]) : 1;
$nbr_elements_par_page=5;
$debut=($page-1)*$nbr_elements_par_page;
$sql = ' SELECT A.*
,C.nom_'.$sql_lang.' AS CATEGORIE
,V.ville_'.$sql_lang.' AS VILLE
FROM annonces A
LEFT JOIN categories C ON C.id = A.id_categorie
LEFT JOIN villes V ON V.id = A.id_ville
WHERE A.id_categorie = :id_cat
OR C.id_parent = :id_cat
ORDER BY A.created_date DESC
LIMIT '.$debut.','.$nbr_elements_par_page.' ';
try {
//suite...
...
function affichageAnnonce($id_cat){
global $bdd;
$annonces = getAnnonceCategorie($id_cat);
$images = getPhotosAnnonces($annonces);
//suite...
...
La partie pagination dans une autre page:
$id_cat = !empty($_GET['id']) ? trim($_GET['id']) : null;
$anouncement = affichageAnnonce($id_cat);
$count= "SELECT COUNT(id) AS cpt FROM annonces WHERE id=$id_cat";
$stmt= $bdd->prepare($count);
$stmt->execute();
$tstmt=$stmt->fetchAll();
var_dump($tstmt);
//Pagination
$page = (!empty($_GET["page"]) )? intval($_GET["page"]) : 1;
$nbr_elements_par_page=5;
$nbre_de_pages=ceil($tstmt[0]["cpt"]/$nbr_elements_par_page);
$debut=($page-1)*$nbr_elements_par_page;
J'ai fait un vardump $tsmt et voici le résulat:
array (size=1)
0 =>
array (size=1)
'cpt' => string '1' (length=1)
Je suis sensé obtenir 2 pages et quand je clique sur la page 1 j'ai l'erreur suivante:Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près .
Il s'agit de
$stmt->execute();
Auriez-vous-une idée?