Bsr, les grafikarts
J'ai réaliser mon site à l'aide de tuto développer un site web de A a Z
Sur le tuto y'a une bdd qui contient la table posts de la page actualité
j'ai créé d'autre table une pour la page actu-tech et une pour la page sport par exemple maintenant j'ai 3 page par exemple chaque page elle a une table.
Ce que je veut moi dans la page d'accueil afficher le dernier article posté dans les trois table, c'est a dire dans la page d'accueil afficher les articles des trois table ( posts, sports, actus ). Puis moi je fait l'ordre décroissant.
Voici mon code de PostsController.php pour afficher l'index de la page d'accueil.

function index(){
            $perPage = 7;
            $this->loadModel('Post');
            $condition = array(
                'online' => 1,
                'type'=>'post');
            $d'posts'] = $this->Post->find(array(
                'conditions' => $condition,
                'order' => 'id DESC',
                'limit' => ($perPage*($this->request->page-1)).','.$perPage

            ));
            $d'total'] = $this->Post->findCount($condition);

            $d'page'] = ceil($d'total'] / $perPage);

            $this->set($d);
        }

et voici l'index de l'accueil

<?php foreach ($posts as $k => $v): ?>
<?php $title = $v->name; ?>
        <div class="clearfix">

                <section class="bg-article">
                    <article>
                        <h2>
                            <?php echo $v->name; ?>
                        </h2>
                            <aside class="meta">
                                 <span class="date">
                                    <?php echo "<p style='font-size:12px; color:#06F; margin-top:9px;'><span class=\"date-ico\"></span>".$v->created."</p>" ?>
                                  </span>

                            </aside>
                                <div id="post_core">
                                            <?php echo substr($v->content, 0, 520); ?>
                                </div><br />
                            <span class="lirelasuite" style="float:left; margin-top:18px; margin-bottom:20px;">

                                 <a href="<?php echo Router::url("posts/view/id:{$v->id}/slug:$v->slug"); ?>"><span class="rmlink">Lire la suite</span></a>
                            </span><br /><br />
                       </article>  
                  </section>

              </div>
<?php endforeach    ?>

J'espère que vous pouvez m'aider.

6 réponses


Morgan
Réponse acceptée

Pourquoi ne pas avoir crée une table article avec tout tes articles et un champs id_categorie qui fait référence a ta table catégorie.

Ta table catégorie contiendrait ainsi tes 3 catégories sport, actu-tech, logiciel.

Et du coup tu ne fait qu'une seule requête qui te ressors tes articles dans l'ordre que tu veux avec la catégorie associée.

D'accord avec taskone mais je crois que ce qu'il souhaite mettre en place c'est un système modulaire. C'est dire plusieurs modules sur une page.

I-dev
Auteur

slt, jai 3 table chaque table contient un domaine par example sport , actu-tech , logiciel ,
et dans le menu jai aussi 3 lien je veut pas melanger les contenus dans la base de donnée
mais sur la page d'accueil je veut afficher la contenu des 3 table par ordre décroissant bien sur.

Bonjour.
Comme l'a dit <u>taskone</u> , si tes tables n'ont pas d'association entre elles, il te faut faire 3 requêtes avec le findFirst du MVC, étant donné que tu ne veux récupérer qu'un seul enregistrement de chaque table.

C'est parfaitement faisable de combiner des requêtes sur 3 tables différentes en une seule a partir du moment ou il y a le même nombre de colonnes retournées (encore que faire 3 requêtes séparé c'est pas non plus la mort effectivement).

Cela dit: Abdellaoui Mehdi a chaque fois que tu veux faire une requête un peu différente de ce qui est dans le tuto tu poses la question et t'attends qu'on te fasse ton code. le SQL c'est pas un truc magique que seuls des grands gourous peuvent sortir. C'est une syntaxe simple, logique, et qui s'apprend. Je te met le lien de ce cours d'openclassrooms qui est hyper complet

Il y a un moment faut savoir si tu veux apprendre a coder, ou si tu veux simplement développer un réseau de nègres pour taper ton code a ta place.

I-dev
Auteur

merci bcp les gars vos reponse ont maider bcp
jai creer une table avec tt mes article avec un champ catégories pour listé mes articles ;)