18041 sujets
Questions générales et questions de débutants
biduletruck, j'ai testé avec
Mais malheureusement ça change pas grand chose
$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..!!
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
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
Modifié par ricem (10 Apr 2018 - 18:51)
Re,
J'ai fait un var_dump comme ceci :
Et voici le résultat :
Modifié par ricem (11 Apr 2018 - 09:50)
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 :
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!
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 ???
Une petite question, j'ai fais un var_dump comme ceci :
Il m'affiche ceci qui correspond au N° d'id demandé :
ç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 :
que je met
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 merci.
Modifié par ricem (11 Apr 2018 - 21:27)
// 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é :
ç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 merci.
Modifié par ricem (11 Apr 2018 - 21:27)
salut,
essai sans les parenthèses après le limit
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.
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)
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.
Merci tout de même à ce qui on essayé de m'aider.
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.