MVC : requete double
Posté : 03 janv. 2014, 17:36
Bonjour, je développe un site php simple et j'ai tenter dernièrement de passer sur un modèle MVC ce dernier. Je débute mais lorsque je souhaite afficher mes news sur la page d'accueil je peux voir afficher mes 6 news de tests dédoubler. En effet chaque news apparaissent deux fois avec la même idée mais pas moyen de mettre la main sur ce qui fait cela dans mon script.
Voici le script en question :
Index.php:
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 !
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 !