forum_topics.php n'affiche pas mes topics
- Accueil
- Forum
- Programmation
- PHP
- forum_topics.php n'affiche pas mes topics
liolio Le 5 mai 2016 à 15:17 (Édité le 25 janvier 2019 à 17:51)
Voici mon code forum_topics.php :
<?php
require('php/config.php'); /* Connexion à la bdd */
require('php/functions.php'); /* Mes fonctions */if(isset($_GET['categorie']) AND !empty($_GET['categorie'])) {
$get_categorie = htmlspecialchars($_GET['categorie']);
$categories = array();
$req_categories = $bdd->query('SELECT * FROM f_categories');
while($c = $req_categories->fetch()) {
array_push($categories, array($c['id'],url_custom_encode($c['nom'])));
}
foreach($categories as $cat) {
if(in_array($get_categorie, $cat)) {
$id_categorie = intval($cat[0]);
}
}
if(@$id_categorie) {
if(isset($_GET['souscategorie']) AND !empty($_GET['souscategorie'])) {
$get_souscategorie = htmlspecialchars($_GET['souscategorie']);
$souscategories = array();
$req_souscategories = $bdd->prepare('SELECT * FROM f_souscategories WHERE id_categorie = ?');
$req_souscategories->execute(array($id_categorie));
while($c = $req_souscategories->fetch()) {
array_push($souscategories, array($c['id'],url_custom_encode($c['nom'])));
}
foreach($souscategories as $cat) {
if(in_array($get_souscategorie, $cat)) {
$id_souscategorie = intval($cat[0]);
}
}
}
$req = "SELECT * FROM f_topics
LEFT JOIN f_topics_categories ON f_topics.id = f_topics_categories.id_topic
LEFT JOIN f_categories ON f_topics_categories.id_categorie = f_categories.id
LEFT JOIN f_souscategories ON f_topics_categories.id_souscategorie = f_souscategories.id
LEFT JOIN membres ON f_topics.id_createur = membres.id
WHERE f_categories.id = ?"; if(@$id_souscategorie) {
$req .= " AND f_souscategories.id = ?";
$exec_array = array($id_categorie,$id_souscategorie);
} else {
$exec_array = array($id_categorie);
} $req .= " ORDER BY f_topics.id DESC";
$topics = $bdd->prepare($req);
$topics->execute($exec_array);
} else {
die('Erreur: Catégorie introuvable...');
}
} else {
die('Erreur: Aucune catégorie sélectionnée...');
}require('views/forum_topics.view.php');
?>
TheOldNoob Le 6 mai 2016 à 16:46 (Édité le 6 mai 2016 à 16:49)
là, le seul truc que je vois pas, c'est ou tu lui demande d'afficher ton article.
Du coup, je sais pas si ça va t'aider, mais moi pour appeler mes articles, voilà le code que j'ai utiliser :
<div id="boite_news">
<?php
$res = $bdd->prepare('SELECT * FROM news ORDER BY date_add DESC');
$res->execute();
$articles = $res->fetchAll(PDO::FETCH_ASSOC);
foreach($articles as $art){?>
<div class="col-md-4 portfolio-item">
<?php
echo '<div id="titre_article">'.$art['title'].'</div>';
echo '<div id="date_article">Publié le '.date('d/m/Y', strtotime($art['date_add'])).'</div>';
echo '<div id="text_article">'.substr($art['content'], 0, 100).'...'.'<div id="read"><a href="index_read.php?id='.$art['id'].'">Lire l\'article</a></div>'.'</div>';
echo '<div class="media-left"><div class="smal"><img src="'.$art['link'].'" alt="image"></div></div>';
echo '<hr>';
?>
</div>
<?php
} // fin de foreach($articles as $art)
?>
</div>
liolio Le 6 mai 2016 à 17:22 (Édité le 1 janvier 1970 à 01:00)
Merci pour ton aide !
Cyberium Le 7 mai 2016 à 05:32 (Édité le 7 mai 2016 à 05:35)
Suis les tutoriel tu verras que ça fonctionnera 😀 Dans mes souvenirs, c'est juste un problème d'architecture db.
EDIT: vérifie le nom des tables et le nom des structures. PrimFX met des - puis des _ et après s'embrouiller les modifie. Met des underscore partout et non des tirets.
@TheHoldNoob : l'affichage se fait dans la view, qui est un fichier à part (/view/forum_topics.view.php)
liolio Le 7 mai 2016 à 11:15 (Édité le 1 janvier 1970 à 01:00)
Mais merci c'est grâce au personne comme toi que l'on avance !
liolio Le 7 mai 2016 à 11:44 (Édité le 1 janvier 1970 à 01:00)
<table class="forum">
<tr class="header">
<th class="main">Sujet</th>
<th class="sub-info w10">Messages</th>
<th class="sub-info w20">Dernier message</th>
<th class="sub-info w20">Création</th>
</tr>
<?php while($t = $topics->fetch()) { ?>
<tr>
<td class="main">
<h4><a href=""><?= $t['sujet'] ?></a></h4>
</td>
<td class="sub-info">4083495</td>
<td class="sub-info">25.12.2015 à 18h07<br />de Admin</td>
<td class="sub-info"><?= $t['date_heure_creation'] ?><br />par <?= $t['pseudo'] ?></td>
</tr>
<?php } ?>
</table>
@TheHoldNoob merci pour ton code je l'ai essayer mais sa marche toujours pas. Sa m'énerve parce je suis bloquer à 100%. Le mieux c'est que PrimFx passe par là mais sa m'étonnerais. De plus dans ma bdd tous me parais comme dans sa vidéo. Ranarxhag Le 8 mai 2016 à 00:51 (Édité le 1 janvier 1970 à 01:00)
if(@$id_categorie) {
liolio Le 8 mai 2016 à 12:16 (Édité le 1 janvier 1970 à 01:00)
liolio Le 8 mai 2016 à 12:36 (Édité le 1 janvier 1970 à 01:00)
Cyberium Le 10 mai 2016 à 16:01 (Édité le 1 janvier 1970 à 01:00)
Ton topic a été mis en résolu, tu confirmes ?
liolio Le 10 mai 2016 à 20:39 (Édité le 10 mai 2016 à 20:41)