[RESOLU] LIMIT avec requete PDO

Mammouth du PHP | 804 Messages

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

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2014, 14:10

As-tu affiché $debut ?

Mammouth du PHP | 804 Messages

13 mars 2014, 15:03

oui aucun problème, les variables sont nickel, c'est incomprehensible

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2014, 15:17

$limit qui est :nombre doit être le nombre de ligne et non l'index de la dernière ligne.
Je ne l'ai pas vu du premier coup à cause de ta façon de nommer les variables. ;)

Mammouth du PHP | 804 Messages

13 mars 2014, 15:30

oh c'est pas vraie :mrgreen:
bravo, quel idiot je suis #-o #-o #-o

merci =D>