Bonjour à tous et à toutes,

je suis confronté à quelque soucis à cause de modification que j'effectue pour rajouter un système lu / non lu, sur un forum et j'avoue m'être un peu perdu dans tout ce code....
J'aurais besoin d'une confirmation comme quoi cette phrase de code ne comporte aucune erreur :

<p class="textesimple"><a href="./affichertopic.php?t='.$data'topic_id'].'&page='.$page.'#p_'.$data'post_id'].'"><img src="./images/go.gif" alt="go" /></a></p></td></tr>';

Ce code représente un bouton sur le forum permettant d'accèder directement au dernier message envoyé.
le soucis, c'est que le numéro du topic ( id ) ne s'insère pas :/

Merci pour votre attention et votre aide.

6 réponses


Quel erreur est affichée?

Reverb
Auteur

Merci de ton attention Nairolf,

Une erreur s'affiche mais concerne un autre bout de code ^^' permettant d'afficher les sujets ou annonces lu ou non lu,

Mais j'ai pu remarquer que l'url ressemble à ça lorsque je clique sur accèder au dernier message :

affichertopic.php?t=&page=1#p_34

et l'erreur de la requête du système lu non lu s'affiche :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'tv_forum_id' cannot be null' in /home/crobar/public_html/affichertopic.php:52 Stack trace: #0 /home/crobar/public_html/affichertopic.php(52): PDOStatement->execute() #1 {main} thrown in /home/crobar/public_html/affichertopic.php on line 52

mais lorsque je rajoute le numéro du topic dans l'url, l'accès au dernier message s'effectue bien ( url modifier : affichertopic.php?t=17&page=1#p_34 ) :/.

Avant de rajouté ce système de lu / non lu, il ne me semblait pas avoir d'erreur par rapport à ça :s le soucis serais lié ? :O

Merci pour ton attention et ton aide :), sincèrement.

Donc en gros il y a aucune valeur pour ton paramètre t dans ton url, tu as essayé de faire un var_dump de $data pour voir si tu as un topic_id, car sans doute que comme il ne vois aucun paramètre à t, il sait pas quoi faire donc ton script plante.

Reverb
Auteur

Re,

oui, j'ai effectué un var_dump se qui m'affiche bool(false), j'ai donc utiliser echo print_r($bdd->errorInfo()); ce qui m'affiche : Array ( [0] => 00000 [1] => [2] => ) 1

Donc en gros tu n'obtient rien pour $data, tu as bien mis ça juste avant le lien? après que normalement la variable soit créée?

Reverb
Auteur

Re,

voici la requête qui précède "le lien" de ma page forum.php :

$query=$bdd->prepare('SELECT cat_id, cat_nom, forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id, forum_topic.topic_post, post_id, post_time, post_createur, membre_pseudo, membre_id FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN membres ON membres.membre_id = forum_post.post_createur
WHERE auth_view <=:lvl ORDER BY cat_ordre, forum_ordre DESC');
$query->bindValue(':lvl',$lvl,PDO::PARAM_INT);
$query->execute();

cette requête me permet de tout obtenir sur le forum, elle ne semble pas comporter d'erreur :/.