MVC - Afficher les posts grouper par la même date

Par enima, il y a 13 ans


Base de données MySQL

j'essaye de faire cette affichage de news en me basons sur ce tutoriel jy arrive pas

23 septembre:
news A
news B
news C

22 septembre:
news A
news B
... etc

sur model.php:
public function find(req){ $sql = 'SELECT '; if (isset(req'fields'])) {
if (is_array(req'fields'])) { $sql .= implode(', ',req'fields']);
}else{
sql .= $req'fields']; } }else{ $sql.='\*'; } $sql .= ' FROM '.this->table.' ';

//construction de la condition
if (isset(req'conditions'])) { $sql .= 'WHERE '; if (!is\_array(req'conditions'])) {
sql .= $req'conditions']; }else{ $cond = array(); foreach (req'conditions'] as k => $v) { if(!is\_numeric(v)){
v = '"'.mysql\_escape\_string(v).'"';
}
cond]= "k=v"; } $sql .= implode(' AND ',cond);
}
}
if (isset(req'order'])) { $sql .= ' ORDER '.req'order'];
}

if (isset(req'limit'])) { $sql .= ' LIMIT '.req'limit'];
}

if (isset(req'group'])) { $sql .= ' GROUP '.req'group'];
}
pre = $this->db->prepare(sql);$pre->execute();return $pre->fetchAll(PDO::FETCH_OBJ);

dans mon Postscontroller.php :
function index(){
this->LoadModel('Post'); $condition2= array('type' => 'phys'); $d'post'] =this->Post->find(array(
'conditions' =>condition2, 'fields' => 'name,created', 'order'=>' BY created ' )); $this->set(d);

}

sur la page view.php j'ai mis

<?php
foreach ($post as $k => $v) :?>
<h3><?php echo $v->created;?></h3>
<p><?php echo $v->name;?></p>
<?php
endforeach;
?>

merci de m'aider

4 réponses

Ramz1994, il y a 13 ans

Bonjour à toi,

Déjà, écris $d'posts'] au lieu de <u>d'post']</u> et **posts** au lieu de <u>$post</u>. Je ne sais pas si tu t'en souviens, mais il y avait un truc qui ajoutait un 's' au model et justement, dans la base de donnée, la table doit s'appeler posts.

Bonne chance pour la suite, je me trompe peut-être mais c'est une alternative. :)

Cordialement,
Ramz.

enima, il y a 13 ans

le prob reste le même, sa ne l'affiche pas comme sa:
23 septembre:
news A
news B
news C

22 septembre:
news A
news B
... etc

Gregory, il y a 13 ans

deja fais un echo de $sql pour voir à quoi ressemble ta requête

dreeck, il y a 13 ans

Bonjour, petit UP, je cherche a faire la même chose avec une autre table.
Du genre :

GROUPE-A (3)

  • element1
  • element2
  • element3

GROUPE-B (0)

GROUPE-C (2)

  • element4
  • element5

Si quelqu'un pouvais m'aider, j'ai galéré toute la journée...