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


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
Auteur

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

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

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...