Pages :
(reprise du message précédent)

Merci biduletruck,
Oui oups j'avais pas vu que c'était en requête prépare, j'ai donc corrigé comme indiqué, mais là il ne m'affiche plus les commentaire, par contre j'ai bien le nombre de page qui correspond à la demande de tant de message par page. Smiley ohwell
Peut être à cause de cette ligne:

$LID = (isset($_GET ['billet'])) ? $_GET ['billet'] : "xx";


Ici le : "xx" correspondant à une valeur si FAUX, donc essai avec 1 pour voir ( 1 correspond à id_billet 1)
biduletruck, j'ai testé avec
$msgpage = 6;
				
				// On récupère le nombre de message total qui sont dans la base de données
								
				$LID = (isset($_GET ['billet'])) ? $_GET ['billet'] : "1";
				$recupere = $bdd->query('SELECT COUNT(*) FROM commentaires WHERE id_billet = ' . $LID );
				$msgtotal = $recupere->fetchColumn();

Mais malheureusement ça change pas grand chose
biduletruck a écrit :


// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID DESC LIMIT (?, ?) ');
			$req->execute(array($_GET['billet'], $pagestart, $msgpage));
			while ($donnees = $req->fetch())


essai de remplacer fetch() par fetchAll(), car fetch() ne retourne qu'un seul enregistrement
biduletruck a écrit :


essai de remplacer fetch() par fetchAll(), car fetch() ne retourne qu'un seul enregistrement

Le souci c'est que même avec un fetch, il doit en retourner au moins un..!! Smiley langue
Et j'ai essayé avec
// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID DESC LIMIT (?, ?) ');
			$req->execute(array($LID, $pagestart, $msgpage));
			while ($donnees = $req->fetchAll())

Bah, ça ne change rien non plus Smiley decu
J'ai beau essayer d'analyser le code de haut en bas, de gauche à droite, je ne vois vraiment pas ce qui ne va pas Smiley decu Smiley decu
Modifié par ricem (10 Apr 2018 - 18:51)
Re,
J'ai fait un var_dump comme ceci :
// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID DESC LIMIT (?, ?) ');
			$req->execute(array($LID, $pagestart, $msgpage));
			while ($donnees = $req->fetchAll())

			 var_dump($donnees);

Et voici le résultat :
upload/1523432594-67715-resultat.jpg
Modifié par ricem (11 Apr 2018 - 09:50)
Abandon par jet de l'éponge !
Tu refuses de traiter un par un les sujets et tu ne regardes pas ce que nous voulons te faire faire.
Fais dand un php, une saisie d'une id_billet et vavoir si ça marche.
Ensuite ajoutes le contrôle de données etc....
Ton script est pleins d'erreurs, alors comment veux tu savoir ???? il faut debuguer pas à pas!
Christele a écrit :
Abandon par jet de l'éponge !
Tu refuses de traiter un par un les sujets et tu ne regardes pas ce que nous voulons te faire faire.
Fais dand un php, une saisie d'une id_billet et va voir si ça marche.
Ensuite ajoutes le contrôle de données etc....
Ton script est pleins d'erreurs, alors comment veux tu savoir ???? il faut debuguer pas à pas!

Heu ouais, mais j'ai pas encore de boule de cristal, j'apprends au fur à mesure et tout seul comme je peux, malheureusement j'ai pas eu la chance de faire des écoles d'informatiques et un professeur qui m'indique où je fais des erreurs.
débuguer, je veux bien mais comment ???
Je sais pas qu'est ce que c'est ta ligne 114, jpeux pas répondre aux erreur dans le screenshot.
Une petite question, j'ai fais un var_dump comme ceci :

			// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID');
			$req->execute(array($LID));
			while ($donnees = $req->fetch())

			 var_dump($donnees);

Il m'affiche ceci qui correspond au N° d'id demandé :
upload/1523456910-67715-resultat.jpg
ça veut dire qu'il récupère bien les requêtes ?? et c'est un problème d'affichage ??
Edit : Bon, ce qui empêchait l'affichage venais du var_dump (étonnant d'habitude ça ne me fais pas).

Sinon, après avoir tous supprimer sur la pagination et enlever le var_dump, ça s'affichait à nouveau, ensuite j'ai essayé progressivement de remettre la pagination. et je me rend compte que c'est quand j'arrive ici :
// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID ');
			$req->execute(array($LID));
			while ($donnees = $req->fetch())

que je met
DESC LIMIT
que plus rien ne s'affiche
// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID DESC LIMIT (?, ?) ');
			$req->execute(array($LID, $pagestart, $msgpage));
			while ($donnees = $req->fetch())

pourtant la pagination fonctionne bien. Si je lui demande 3com/page il m'affiche 3 pages (sachant que j'ai 9 com) je sais bien que je vous ennui avec mes codes, mais si une personne charitable veut faire une bonne action Smiley smile merci.
Modifié par ricem (11 Apr 2018 - 21:27)
salut,

essai sans les parenthèses après le limit


// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID DESC LIMIT ?, ? ');
			$req->execute(array($LID, $pagestart, $msgpage));
			while ($donnees = $req->fetch())
biduletruck a écrit :
salut,

essai sans les parenthèses après le limit


// Récupération des commentaires
			$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY ID DESC LIMIT ?, ? ');
			$req->execute(array($LID, $pagestart, $msgpage));
			while ($donnees = $req->fetch())

Non, malheureusement pareille. Smiley decu
Bonjour,
je suis toujours à la recherche d'une solution, même que la nuit je cauchemarde sur le php, je suis au bord de la dépression (j'en rajoute encore ou pas) ou quelqu'un va avoir pitié de moi et me donner une réponse, car je suis sur que parmi tous les membres expérimentés ce problème n’ai d'aucunes difficultés pour eux.
Merci.
Modifié par ricem (15 Apr 2018 - 22:56)
bonsoir,
Après plusieurs recherche et posté sur plusieurs forums, il s'avère qu'il fallait passer les variables $pagestar et $msgpage comme entier dans les paramètres et non comme chaine de caractère.

// Récupération des commentaires
      		$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY id DESC LIMIT ?, ?');
            $req->bindValue(1,  $LID);
            $req->bindValue(2, (int) $pagestart, PDO::PARAM_INT);
            $req->bindValue(3, (int) $msgpage, PDO::PARAM_INT);
            $req->execute();			
			while ($donnees = $req->fetch())


Merci tout de même à ce qui on essayé de m'aider.
Pages :