Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème écrite requete sur mon limit

15 octobre 2018 à 6:13:49

Bonjour tout le monde, j'ai un soucis sur mon limit de ma requete:

Message d'erreur :

Catchable fatal error: Object of class PDOStatement could not be converted to string in C:\wamp64\www\Panagea\sortie.php on line 267

correspond à ma ligne :


$sql .= " ORDER BY `evenement_date`.`date_event` ASC LIMIT ".intval(($page-1)*$parPage).", ".$parPage;

$sql = $bdd->prepare("SELECT * FROM `loisirs`  JOIN evenement_date ON evenement_date.code = loisirs.code AND city= '".$_GET['lieux']."' WHERE evenement_date.date_fin_event >= NOW()");
$sql->execute();
		
$nb = $sql->rowCount();

//Pagination
$parPage = 20;
$page = !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		
$nbre_annonces_par_page = 20;
$nbre_pages_max_gauche_et_droite = 2;
$last_page = ceil($nb / $nbre_annonces_par_page);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page_num = $_GET['page'];
} else {
$page_num = 1;
}
if($page_num < 1){
$page_num = 1;
} else if($page_num > $last_page) {
$page_num = $last_page;
}
$limit = 'LIMIT '.($page_num - 1) * $nbre_annonces_par_page. ',' . $nbre_annonces_par_page;
$pagination = '';
if($last_page != 1){
if($page_num > 1){
		$previous = $page_num - 1;
$pagination .= '<li><a href="'.$valeur_paginate.($previous > 1 ? '-page-'.$previous : null).'.html">Prec</a></li> &nbsp; &nbsp;';
for($i = $page_num - $nbre_pages_max_gauche_et_droite; $i < $page_num; $i++){
if($i > 0){
$pagination .= '<li><a href="'.$valeur_paginate.($i > 1 ? '-page-'.$i : null).'.html">'.$i.'</a></li> &nbsp;';
}
}
}
$pagination .= '<li class="page-active">'.$page_num.'</li>&nbsp;';
for($i = $page_num+1; $i <= $last_page; $i++){	
$pagination .= '<li><a href="'.$valeur_paginate.'-page-'.$i.'.html">'.$i.'</a></li> ';
if($i >= $page_num + $nbre_pages_max_gauche_et_droite){
break;
}
}
if($page_num != $last_page){
$next = $page_num + 1;
pagination .= '<li><a rel"nofollow" href="'.$valeur_paginate.'-page-'.$next.'.html">Suiv</a><li> ';
}
}


//$sql .= " ORDER BY `evenement_date`.`date_event` ASC LIMIT ".intval(($page-1)*$parPage).", ".$parPage; // problème sur cette ligne
				$nb2 = $sql->rowCount();
				if($nb2 > 0) {
				
				while($ligne = $sql->fetch(PDO::FETCH_ASSOC)){ 
						

						
				echo'resultzat...';
				
	}



  • Partager sur Facebook
  • Partager sur Twitter
15 octobre 2018 à 9:16:51

Ton order by il faut le mettre directement dans ta première requête, ça n'a aucun sens cette concaténation.
  • Partager sur Facebook
  • Partager sur Twitter
15 octobre 2018 à 16:25:19

Bah ca du sens car je fait ma requete, je selectionne ce que je veu

ensuite je fait un count pour faire le traitement de la pagination

et ensuite j'affiche (ORDER ) par le nombre que je souhaite d'ou la concaténation. pour le faire après mon traitement pagination

  • Partager sur Facebook
  • Partager sur Twitter
15 octobre 2018 à 17:22:57

Bonjour,

Malheureusement pour toi Madame SQL a sa syntaxe et n'a pas beaucoup d'humour.

Donc j'ai bien peur qu'il faille en effet que tu formes ta requête puis que tu l'exécutes. Je sais bien que c'est dommage, mais bizarrement si tu l'exécutes d'abord puis que tu décides d'y ajouter un petit bout sans l'exécuter, ça ne fonctionne pas;

  • Partager sur Facebook
  • Partager sur Twitter