Bonjour, je suis encore novice en php bien que je tente de m'améliorer mais là je bloque sur un point.
J'ai créer un site en php pour m'entrainer en suivant le tuto de Grafikart et en voulant y insérer un slider j'ai un problème dans mon code. Je souhaite afficher chaque image en correspondance avec le texte à côté.
Pour pouvoir mieux m'expliquer voilà la partie de mon code:

<?php foreach ($posts as $k => $v): ?>  
      <div class="slide">
        <h2><?php echo $v->name; ?></h2>
        <p><a href="<?php echo Router::url("posts/view/id:{$v->id}/slug:$v->slug"); ?>"><<strong>img src=" "</strong> width="215" height="145" /></a><?php echo substr(strip_tags($v->content),0,300); ?>…</p>
      </div>
        <?php endforeach ?>

Là ou je bloque c'est pour mettre une source à l'image. Les images sont contenues dans une table de ma BDD appelée média qui est liée à la table posts par "post_id". Le nom de l'image dans la table est "file".

Si quelqu'un a une solution ça serait cool parce que là je sèche bien un peu :/

PS: si vous pouviez également m'aider à mettre une limite de 5 posts/images dans le slider...

Merci

2 réponses


wYm
Réponse acceptée

Salut, pour l'image t'as qu'a faire une jointure avec la table media donc tu ajoute ce bout de code

LEFT JOIN media ON post_id = posts.id

dans ta requête pour récupérer les posts, sinon pour limiter le nombre de posts a 5 tu ajoute a la fin de ta requête

LIMIT 5

, essaye et si tu as d'autre question poste les bonne chance

marsup
Auteur
Réponse acceptée

Bonjour et merci pour la réponse.
J'ai pas pu mettre en place votre solution à cause de la configuration des autres pages mais j'ai finalement trouvé une solution qui marche impec. Voilà comment j'appelle mon image si ça peut aider quelqu'un :

<img src="/Grafikart/webroot/img/2011-10/<?php echo $v->slug; ?>.jpg"

Avec le slug de l'article qui correspond au nom de l'image.
Pour la limite merci. Ça m'a fait penser à créer un nouveau contrôler et régler ainsi un autre problème sur lequel je m'étais pas encore penché... :D

Donc Merci à toi tu m'as aidé à bien avancer en peu de temps. ;)