Bonjour à tous,
j'ai un petit soucis d'affichage sur mon site qui selon toute vraisemblance est du à une boucle while. Le problème est le suivant :
Mon site est décomposé en plusieurs blocs générés à l'aide de classes CSS et de balises <div> qui les contiennent. Dans l'un de ces blocs j'affiche un autre bloc plus petit qui contient les News, puis dans un dernier bloc, en pied de page, j'ai une bannière. Le problème, lorsque j'affiche les News dans le bloc au-dessus de celui en pied de page, ce dernier disparaît !
J'ai retourné la chose dans tous les sens, et après de multiples tests pour isoler le problème, j'ai constaté que la boucle while dans le script d'affichage des news était la source des mes maux de tête... :p
Si je supprime la boucle, alors le problème n'est plus, le bloc contenant la bannière en pied de page s'affiche correctement ; sauf que j'aimerai afficher un maximum de 3 News sur ma page d'accueil, et si j'enlève la boucle il n'apparaît qu'une seule News.
Bon, assez discouru, voici pour commencer le script qui affiche les News (affiche_news.php) :
require_once('connexion/configbdd.php');
$connexion=mysql_pconnect($dbhost, $utilisateur, $mdp) or die(mysql_error());
mysql_select_db(nom_de_ma_base, $connexion) or die(mysql_error());
$requete=mysql_query("SELECT id, auteur, date, titre, message FROM news ORDER BY id DESC LIMIT 3") or die(mysql_error());
while ($resultat=mysql_fetch_array($requete) or die(mysql_error())) {
echo ' <h5>'.$resultat['titre'].'</h5>
<p>
<em>Posté par '.$resultat['auteur'].' le '.$resultat['date'].'</em>
</p>
<p>'.nl2br(stripslashes($resultat['message'])).'</p>';
}
mysql_close($connexion);
Et voici la partie du script de la page d'accueil qui nous intéresse (index.php) :
<div class="cadre_centre_droit">
<h3>Bienvenue sur monsite.com</h3>
<div class="cadre_news">
<?php
require_once('affiche_news.php');
?>
</div>
</div>
<div class="cadre_pied_de_page">
</div>
Eh bien voilà, si quelqu'un a déjà été confronté à ce problème et qu'il existe une solution pour le résoudre, je suis preneur !
Merci.