[RESOLU] LIMIT avec requete PDO

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] LIMIT avec requete PDO

Re: LIMIT avec requete PDO

par dogmongo » 13 mars 2014, 15:30

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

merci =D>

Re: LIMIT avec requete PDO

par xTG » 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. ;)

Re: LIMIT avec requete PDO

par dogmongo » 13 mars 2014, 15:03

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

Re: LIMIT avec requete PDO

par xTG » 13 mars 2014, 14:10

As-tu affiché $debut ?

LIMIT avec requete PDO

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