par
stouf » 15 avr. 2010, 15:51
Bonjour,
J'ai réalisé un genre de système de news sous forme d'un tableau en HTML et je souhaite réalisé une boucle dans celui ci avec php et mysql pour afficher les différents contenus.
Je n'ai aucune erreurs mais c'est un simple problème d'affichage que je n'arrive pas à résoudre, voici mon code actuel :
Code : Tout sélectionner
<?php //connexion
try
{
$bdd = new PDO('mysql:host=localhost;dbname=DS', 'root', '');
}
catch(Exception $e) // en cas d'erreur !
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT *, DAYOFMONTH(datebillet) AS day, MONTH(datebillet) AS month FROM billets ORDER BY datebillet DESC LIMIT 0, 2'); //requete
?>
<!-- Contenu -->
<table align="center" cellpadding="10px">
<tr>
<?php
while ($donnees = $reponse->fetch()) // boucle pour afficher la requete
{
?>
<?php
extract($donnees); //extraire les données dans une seule variable
$month=str_replace (1,"Jan",$month);
$month=str_replace (2,"Fév",$month);
$month=str_replace (3,"Mars",$month);
$month=str_replace (4,"Avr",$month);
$month=str_replace (5,"Mai",$month);
$month=str_replace (6,"Juin",$month);
$month=str_replace (7,"Juil",$month);
$month=str_replace (8,"Aout",$month);
$month=str_replace (9,"Sept",$month);
$month=str_replace (10,"Oct",$month);
$month=str_replace (11,"Nov",$month);
$month=str_replace (12,"Dec",$month);
?>
<td>
<div class="date">
<div class="number"><?php echo $day ?></div><div class="month"><?php echo $month ; ?></div></div>
<font class="titre"><?php echo $titre ; ?></font><br/><font class="soustitre"><?php echo $soustitre ; ?></font></td>
<?php
} // fin de la boucle
?>
<td><div class="date">
<div class="number">J</div>
<div class="month">Jour</div></div>
<font class="titre">Présentation du site</font><br/>
<font class="soustitre">Le Principe</font></td>
</tr>
<tr>
<?php
$reponse2 = $bdd->query('SELECT img, img_mini FROM billets ORDER BY datebillet DESC LIMIT 0, 2 ');
while ($donnees2 = $reponse2->fetch())
{
?>
<td><img src="travaux/<?php echo "$img_mini"; ?>.jpg" width="273" height="112" alt="Réalisé par DS Conception" /><font class="commentaires"><a class="rendu" href="#">Commentaires</a></font><font class="rendu"><a class="rendu" href="travaux/<?php echo "$img"; ?>.jpg">Voir le rendu</a></font></td>
<?php
}
?>
Donc les boucles s'exécutes parfaitement, le problème viens de l'affichage des images, il m'affiche 2 images identiques alors que sa ne devrait pas avoir lieu
Pourtant pour les dates, il n'y a aucun problème et dans ma base, les champs des images sont bien différents
En vous remerciant d'avance

Stouf
Bonjour,
J'ai réalisé un genre de système de news sous forme d'un tableau en HTML et je souhaite réalisé une boucle dans celui ci avec php et mysql pour afficher les différents contenus.
Je n'ai aucune erreurs mais c'est un simple problème d'affichage que je n'arrive pas à résoudre, voici mon code actuel :
[code]<?php //connexion
try
{
$bdd = new PDO('mysql:host=localhost;dbname=DS', 'root', '');
}
catch(Exception $e) // en cas d'erreur !
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT *, DAYOFMONTH(datebillet) AS day, MONTH(datebillet) AS month FROM billets ORDER BY datebillet DESC LIMIT 0, 2'); //requete
?>
<!-- Contenu -->
<table align="center" cellpadding="10px">
<tr>
<?php
while ($donnees = $reponse->fetch()) // boucle pour afficher la requete
{
?>
<?php
extract($donnees); //extraire les données dans une seule variable
$month=str_replace (1,"Jan",$month);
$month=str_replace (2,"Fév",$month);
$month=str_replace (3,"Mars",$month);
$month=str_replace (4,"Avr",$month);
$month=str_replace (5,"Mai",$month);
$month=str_replace (6,"Juin",$month);
$month=str_replace (7,"Juil",$month);
$month=str_replace (8,"Aout",$month);
$month=str_replace (9,"Sept",$month);
$month=str_replace (10,"Oct",$month);
$month=str_replace (11,"Nov",$month);
$month=str_replace (12,"Dec",$month);
?>
<td>
<div class="date">
<div class="number"><?php echo $day ?></div><div class="month"><?php echo $month ; ?></div></div>
<font class="titre"><?php echo $titre ; ?></font><br/><font class="soustitre"><?php echo $soustitre ; ?></font></td>
<?php
} // fin de la boucle
?>
<td><div class="date">
<div class="number">J</div>
<div class="month">Jour</div></div>
<font class="titre">Présentation du site</font><br/>
<font class="soustitre">Le Principe</font></td>
</tr>
<tr>
<?php
$reponse2 = $bdd->query('SELECT img, img_mini FROM billets ORDER BY datebillet DESC LIMIT 0, 2 ');
while ($donnees2 = $reponse2->fetch())
{
?>
<td><img src="travaux/<?php echo "$img_mini"; ?>.jpg" width="273" height="112" alt="Réalisé par DS Conception" /><font class="commentaires"><a class="rendu" href="#">Commentaires</a></font><font class="rendu"><a class="rendu" href="travaux/<?php echo "$img"; ?>.jpg">Voir le rendu</a></font></td>
<?php
}
?>[/code]
Donc les boucles s'exécutes parfaitement, le problème viens de l'affichage des images, il m'affiche 2 images identiques alors que sa ne devrait pas avoir lieu :(
Pourtant pour les dates, il n'y a aucun problème et dans ma base, les champs des images sont bien différents
En vous remerciant d'avance :)
Stouf