Voici le script en question :
Index.php:
<?php
session_start();
mysql_connect("localhost","root","");
mysql_select_db("alcudia");
mysql_query ('SET NAMES "UTF8"');
if (!empty($_GET['page']) && is_file('controleurs/'.$_GET['page'].'.php'))
{
include 'controleurs/'.$_GET['page'].'.php';
}
else { include 'controleurs/accueil.php'; } ?>
J'utilise une class model contenant des requetes pré-faite dont celle qui doit afficher les news :
public function find($data=array()) {
$conditions = "1=1";
$donnee = "*";
$limite = "";
$order = "id DESC";
if(isset($data['conditions'])) { $conditions = $data['conditions']; }
if(isset($data['donnee'])) { $donnee = $data['donnee']; }
if(isset($data['limite'])) { $limite = " LIMIT ".$data['limite']; }
if(isset($data['order'])) { $order = $data['order']; }
$sql = "SELECT $donnee FROM ".$this->table." WHERE $conditions $limite ORDER BY $order $limite";
$req = mysql_query($sql) or die(mysql_error(). "<br> => ".mysql_query());
$d = array();
while ($data = mysql_fetch_assoc($req)) {
$d[] = $data;
}
return $d;
}
Une class News qui extend cette fonction avec le nom de la table. Le tout est appelé sur le controleur :include(dirname(__FILE__).'/../modeles/model.php');
$news = Model::charger_Class('news');
if (!empty($_POST)) {
$news->sauvegarde_Donnee($_POST);
$_GET['id'] = $news->id;
}
if (isset($_GET['suppr'])) {
$news->del($_GET['suppr']);
}
$billet = $news->find(array(
"donnee" => "news.id, id_auteur, titre, date_news, resume, nom, prenom",
"where" => "WHERE membre.id = news.id_auteur",
"order by" => "news.id DESC"
));
include(dirname(__FILE__).'/../vues/accueil.php');
Et enfin la vue qui affiche le rendu :foreach($billet as $n)
{
echo '
<article>
<h2 class="titre_article"><a href="index.php?page=page&id='.$n['id'].'">'.$n['titre'].'</a></h2>
<div class="contenu_article">
<a href="#"><img src="vues/images/img_article.jpg" alt="'.$n['titre'].'" class="img_article"></a>
<p class="paragraphe_article">'.$n['resume'].'
<span class="detail_article">'.$n['date_news'].' par <span class="auteur_article">'.$n['nom'].' '.$n['prenom'].'</span></span>
</p>
</div>
</article>'; }
Lorsque je test un print_r de $billet je peux voir : Array ( [0] => Array ( [id] => 99 [...]
Array ( [1] => Array ( [id] => 99 [...]
Ma news à l'id 99 y est deux fois =(
Voilà si quelqu'un voit d'où pourrait venir cette erreur cela me débloquerai bien =)
Merci d'avance !