par
dogmongo » 13 mars 2014, 13:55
Bonjour,
j'utilise LIMIT dans une de mes rêquetes PDO mais l'affichage est étrange, au lieu de commancer par la variable du début que j'ai paramètré il les cumule,
en gros si je veux afficher de 5 en 5 il m'affiche la première page 5 résultats , puis la seconde page j'ai 10 résultats au lieu des résultat 5 à 10 etc... ?
$page = (isset($_POST['page'])) ? $_POST['page'] : (isset($_GET['page']) ? $_GET['page'] : null);
$query = 'SELECT *'
. ' FROM source';
$prep = $db->prepare($query);
$prep->execute();
$limit = 5;
if(!isset($debut) )
{
$debut=0;
}else{
$debut = $page * $limit ;
}
$nb_total = $prep->rowCount();
$prep->closeCursor();
$prep = NULL;
$nb_de_page = ($nb_total / $limit);
if(!isset($page) or $page==0){
$debut = 0;
$page = 0;
$limit = $debut + $limit;
}else
{
$debut = ($limit * $page) ;
$limit = $debut + $limit;
}
$query = 'SELECT *'
. ' FROM source'
. ' ORDER BY id ASC'
. ' LIMIT :debut,:nombre';
$select = $db->prepare($query);
$select->bindParam(':debut', $debut, PDO::PARAM_INT);
$select->bindParam(':nombre', $limit, PDO::PARAM_INT);
$select->execute();
voyez vous une erreur de ma part ?
merci de votre aide
Bonjour,
j'utilise LIMIT dans une de mes rêquetes PDO mais l'affichage est étrange, au lieu de commancer par la variable du début que j'ai paramètré il les cumule,
en gros si je veux afficher de 5 en 5 il m'affiche la première page 5 résultats , puis la seconde page j'ai 10 résultats au lieu des résultat 5 à 10 etc... ?
[php]
$page = (isset($_POST['page'])) ? $_POST['page'] : (isset($_GET['page']) ? $_GET['page'] : null);
$query = 'SELECT *'
. ' FROM source';
$prep = $db->prepare($query);
$prep->execute();
$limit = 5;
if(!isset($debut) )
{
$debut=0;
}else{
$debut = $page * $limit ;
}
$nb_total = $prep->rowCount();
$prep->closeCursor();
$prep = NULL;
$nb_de_page = ($nb_total / $limit);
if(!isset($page) or $page==0){
$debut = 0;
$page = 0;
$limit = $debut + $limit;
}else
{
$debut = ($limit * $page) ;
$limit = $debut + $limit;
}
$query = 'SELECT *'
. ' FROM source'
. ' ORDER BY id ASC'
. ' LIMIT :debut,:nombre';
$select = $db->prepare($query);
$select->bindParam(':debut', $debut, PDO::PARAM_INT);
$select->bindParam(':nombre', $limit, PDO::PARAM_INT);
$select->execute();
[/php]
voyez vous une erreur de ma part ?
merci de votre aide