Mammouth du PHP |
620 Messages
02 juin 2010, 14:15
Bon alors comme je galère et qu'après plusieurs heures d'essais je n'y arrive toujours pas je vous met le code complet. Peut etre trouverez vous ou est mon probléme ?
<?php
function switchcolor()
{
static $col;
$couleur1 = "#F9D893";
$couleur2 = "#F6C664";
if ($col == $couleur1)
{
$col = $couleur2;
}
else
{
$col = $couleur1;
}
return $col;
}
$req = mysql_query("SELECT forum_sujets.id, forum_sujets.auteur, forum_sujets.titre, forum_sujets.date_derniere_reponse, forum_reponses.message, forum_reponses.correspondance_sujet FROM forum_sujets INNER JOIN forum_reponses ON (forum_reponses.correspondance_sujet = forum_sujets.id) group by forum_sujets.id order by forum_sujets.date_derniere_reponse desc,forum_reponses.date_reponse desc");
//$req = mysql_query("SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets ORDER BY date_derniere_reponse DESC");
// on compte le nombre de sujets du forum
$nb_sujets = mysql_num_rows ($req);
if ($nb_sujets == 0) {
echo 'Aucun sujet';
}
else {
echo '<h3>Nombre total de sujet postés sur le Forum :'.$nb_sujets.'</h3>';
echo '<table width="780" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>
<span class="orange">Titre du sujet</span>
</td>
<td>
<div align="center"><span class="orange">Auteur</span></div>
</td>
<td>
<div align="center"><span class="orange">Vues</span></div>
</td>
<td>
<div align="center"><span class="orange">Réponses</span></div>
</td>
<td>
<div align="center"><span class="orange">Date dernière réponse</span></div>
</td>
</tr>';
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on décompose la date
sscanf($data['date_derniere_reponse'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
// on affiche les résultats
?>
<?php echo "<tr bgcolor=\""; echo switchcolor(); echo "\">" ?>
<?php $Id[]=$data['id']; ?>
<?php
echo '<td>';
// on affiche le titre du sujet, et sur ce sujet, on insère le lien qui nous permettra de lire les différentes réponses de ce sujet
echo '<a href="./lire_sujet.php?id_sujet_a_lire=' , $data['id'] , '">' , $data['titre'] , '</a>';
//aperçu du message de l'internaute
echo '<p>'.substr($data['message'], 0, 80). '...</p>';
echo '</td><td><div align="center">';
// on affiche le nom de l'auteur de sujet
echo $data['auteur'];
echo '</div></td><td><div align="center">';
// on affiche le nombre de fois ou le sujet a été vue
echo 'vue';
echo '</div></td><td><div align="center">';
// on affiche le nombre de réponse de ce sujet
$sqlrep = 'SELECT sujet.*, COUNT(forum_reponses.id) AS num_ reponses FROM forum_sujets AS sujet LEFT JOIN forum_reponses WHERE forum_reponses.correspondance_sujet = forum_sujets.id';
$reqrep = mysql_query($sqlrep);
//on conte le nombre de reponses :
$nb_rep = mysql_num_rows ($reqrep);
if ($nb_rep == 0) {
echo '0 réponse';
}
else {
echo $nb_rep. ' réponses';
}
echo '</div></td><td><div align="center">';
// on affiche la date de la dernière réponse de ce sujet
echo $jour , '-' , $mois , '-' , $annee , ' ' , $heure , ':' , $minute;
}
echo '</div></td></tr></table>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connexion à la base de données.
mysql_close ();
?>