28115 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Voila je voudrais avoir un peu t'aide pour le forum que je créer.
J’ai suivi un tutorial pour crée un forum de toutes pièces qui marche très bien maintenant j'ai un peu souci au niveau du CSS.

Je vous explique mon souci :
J’ai donc intégrer le forum a mon site perso mais Jai un problème pour crée un élément DIV âpres le dernier forum de chaque catégorie je vous montre en image vous comprendrez mieux.

voila mon souci quand je place mon DIV ( jai mis " ICI " pour voir mieux ) il ce repete sur chaque forum
upload/7626-buzteambug.jpg

voila comment je voudrais que ca face :
upload/7626-buzafaire.jpg

voila mon code php :


<?php
	session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
	$titre = "Index du forum";
	if (!empty($titre)) //Si le titre est indiqué on l'affiche entre les balises <title>
	{
		echo '<title> '.$titre.' </title>';
	}
	else //Sinon on écrit forum par défaut
	{
		echo '<title> Forum </title>';
	}
?>
<link href="../buz.css" rel="stylesheet" type="text/css" />
<script src="../livesearch.js" type="text/javascript"></script>
<?php include('../connexion.php'); ?>
<?php
function verif_auth($auth_necessaire){
//Dans un premier temps on vérifie si le membre est connecté
if(isset($_SESSION['id'])) $auth = $_SESSION['level'];
else $auth = 1;
if ($auth_necessaire < $auth) return true;
else return false;
}
?>
<?php
function br2nl($texte) //Fonction remplaçant les <br />
{
        return str_replace(array('<br />','<br>'), ' ', $texte);
}
?>
<script type="text/javascript">
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
/* pour IE (toujous un cas appar lui [cligne] )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs comme Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
</script>
</head>
<body>
<div id="conteneurglobal">
  <div id="logo">
    <h1 class="hide">Buz-Team.com</h1>
  </div>
  <div id="recherche">
    <div id="searchcontent">
      <p class="hide"><strong>Recherche</strong></p>
      <form action="index.php" method="get" id="searchform">
        <fieldset>
        <legend>Effectuer une recherche sur ce blog</legend>
        <p>
          <input type="text" name="q" value="Rechercher..." onfocus="this.value=''" onblur="this.value='Rechercher...'" class="field" id="livesearch" onkeyup="liveSearchStart();" />
          <button type="submit" title="Lancer la recherche">Ok</button>
        </p>
        </fieldset>
      </form>
    </div>
    <div id="LSResult" style="display: none;">
      <div id="recherchehaut"></div>
      <div id="LSShadow"></div>
      <div id="recherchebas"></div>
    </div>
  </div>
  <div id="menuindex">
    <p><a href="#affichagenews" title="Accéder directement au contenu">Aller au contenu</a> <span style="color:white;">|</span> <a href="#menu" title="Accéder directement au menu">Aller au menu</a> <span style="color:white;">|</span> <a href="#summary" title="Accéder directement aux rubriques">Aller aux rubriques</a></p>
  </div>
  <div id="menu">
    <div id="menucontent"> <strong class="hide">Menu</strong>
      <ul>
        <li id="home"><a href="/" title="Accéder à l'accueil">Accueil</a></li>
        <li id="archives"><a href="/Forum" title="Consulter les archives">Archives</a></li>
        <li id="bestof"><a href="/Membres" title="Voir le classement des meilleurs articles de ce blog">Best of</a></li>
        <li id="subscribe"><a href="/Team" title="S'abonner à ce blog">S'abonner</a></li>
        <li id="about"><a href="/Match" title="Obtenir plus d'information à propos de ce blog et de son auteur">A propos</a></li>
        <li id="contact"><a href="/Serveur" title="Contacter l'auteur de ce blog">Contact</a></li>
      </ul>
    </div>
  </div>
  <div id="conteneur">
    <div id="conteneurcentral">
      <div id="conteneurdeuxbloc">
        <div id="blocgaucheetdroit"> <strong class="hide">News</strong>
          <div id="affichagenews">
            <div id="corps_forum">
              <?php
if(!empty($_SESSION['pseudo'])){
	$sql="SELECT membre_derniere_visite, membre_id FROM forum_membres WHERE membre_id='".$_SESSION['id']."' ";
	//echo $sql;
	//echo'<br />';
	$result=mysql_query($sql);
	$temp=mysql_fetch_array($result);
	$test=$temp['membre_derniere_visite'] - (time()-300);
	//echo $test;
	//echo'<br />';
	if($temp['membre_derniere_visite'] < (time()-300)){
		$update="UPDATE forum_membres SET membre_derniere_visite='".time()."' WHERE membre_id='".$_SESSION['id']."' ";
		//echo $update;
		$resultupdate=mysql_query($update);
	}
}else{
	$sqlvisiteur="SELECT ip, timestamp FROM visiteur WHERE ip='".$_SERVER['REMOTE_ADDR']."' ";
	//echo $sqlvisiteur;
	$resultvisiteur=mysql_query($sqlvisiteur);
	$visiteurreturn=mysql_fetch_array($resultvisiteur);
	
	if($visiteurreturn['timestamp'] < (time()-300)){
		$deletevisiteur="DELETE visiteur FROM visiteur WHERE ip='".$_SERVER['REMOTE_ADDR']."' ";
		$updatedelete=mysql_query($deletevisiteur);
		//echo $deletevisiteur;
	}
	
	$nombredevisiteur=mysql_num_rows($resultvisiteur);
		if($nombredevisiteur > 0){
			$timevisiteur=$visiteurreturn['timestamp'] - (time()-300);
			//echo $timevisiteur;
			if($visiteurreturn['timestamp'] > (time()-300)){
				$updatevisiteur="UPDATE visiteur SET timestamp='".time()."' WHERE ip='".$_SERVER['REMOTE_ADDR']."' ";
				//echo $updatevisiteur;
				$resultupdatevisiteu=mysql_query($updatevisiteur);
			}
		}else{
			$insertvisiteur="INSERT INTO visiteur(ip,timestamp) VALUES('".$_SERVER['REMOTE_ADDR']."','".time()."')";
			$resultinsertvisiteur=mysql_query($insertvisiteur);
		}
}
?>
              <div id="connectionforum">
                <?php
// Puis on commence notre if
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
		echo'<div id="conteneurconnection">';
			echo'<div id="barrehaut">';
				echo'<a href="#"><img src="./images/icon_mini_faq.gif" alt="faq" /> FAQ</a>';
				echo'<a href="#"><img src="./images/icon_mini_search.gif" alt="recherche" /> Recherche</a>';
				echo'<a href="#"><img src="./images/icon_mini_members.gif" alt="membre" /> Liste des membres</a>';
				echo'<a href="#"><img src="./images/icon_mini_groups.gif" alt="groupe" /> Groupes d\'utilisateurs</a>';
			echo'</div>';
			echo'<div class="clear"></div>';
				echo'<div id="barrebas">';
					echo'<a href="./voirprofil.php?m='.$_SESSION['id'].'&amp;action=modifier"><img src="./images/icon_mini_profile.gif" alt="profil" /> Profil</a>';
					
					$requete  = mysql_query('SELECT mp_lu, mp_id, mp_expediteur, mp_titre, 
					   mp_time, membre_id, membre_pseudo 
					   FROM forum_mp
					   LEFT JOIN forum_membres ON forum_mp.mp_expediteur = forum_membres.membre_id
					   WHERE mp_receveur = '.$_SESSION['id'].' ORDER BY mp_id DESC')
					   or die(mysql_error());
					   
					   $nonlu=mysql_query("SELECT mp_lu FROM forum_mp WHERE mp_receveur='".$_SESSION['id']."' AND mp_lu='0'");
							$nombremp=mysql_num_rows($nonlu);
							$data = mysql_fetch_assoc($requete);
						if(mysql_num_rows($requete) > 0){
							if($nombremp != 0){
							echo'<a href="./messagesprives.php"><img src="./images/icon_mini_message.gif" alt="message privé" /> Vous avez reçu '.$nombremp.' nouveaux';
							if($nombremp > 1){
								echo' messages</a>';
							}else{
								echo' message</a>';
							}
						}else{
							echo'<a href="./messagesprives.php"><img src="./images/icon_mini_message.gif"  alt="pas de nouveaux message" /> Vous n\'avez pas de nouveaux messages</a>';
						}
					}else{
						echo'<a href="./messagesprives.php"><img src="./images/icon_mini_message.gif" alt="pas de nouveaux message" /> Vous n\'avez pas de nouveaux messages</a>';
					}
					
					echo'<a href="./deconnexion.php"><img src="./images/icon_mini_login.gif" alt="deconnexion" /> Déconnexion</a> [ <a href="./voirprofil.php?m='.$_SESSION['id'].'&amp;action=consulter">'.$_SESSION['pseudo'].'</a> ]';
				echo'</div>';
		echo'</div>';

}


// Sinon on propose de se connecter ou de s'enregistrer
else
{		
		echo'<div id="conteneurconnection">';
			echo'<div id="barrehaut" style="text-align:right;">';
				echo'<a href="#"><img src="./images/icones/icon_faq.gif" alt="FAQ" /> FAQ</a>';
				echo'<a href="./register.php"><img src="./images/icones/icon_register.gif" alt="M\'enregistre" /> M\'enregistre</a>';
				echo'<a href="./connexion.php"><img src="./images/icones/icon_logout.gif" alt="connexion" /> Connexion</a>';
			echo'</div>';
		echo'</div>';
}
?>
              </div>
              <div id="dateheure">
                <?php
		if (isset($_SESSION['pseudo'])){
			$dernierevisitemembre=mysql_query('SELECT membre_derniere_connexion FROM forum_membres WHERE membre_id="'.$_SESSION['id'].'"');
			$dernierevisite=mysql_fetch_array($dernierevisitemembre);
		?>
                <p>Derni&egrave;re visite le <?php echo date('d.m.Y  H\:i', $dernierevisite['membre_derniere_connexion']); ?></p>
                <?php
			}
		?>
                <p>La date/heure actuelle <?php echo date('d.m.Y  H\:i',time()); ?></p>
                <a href ="./index.php">Index du Forum</a> </div>
              <?php
//Initialisation de deux variables
$totaldesmessages = 0;
$categorie = "";

//Cette requete permet d'obtenir tout sur le forum
$requete2 = mysql_query('
SELECT cat_id, cat_nom,
forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id,
post_time, post_createur, membre_pseudo,
membre_id
FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur ORDER BY cat_ordre DESC');


//Dans un premier temps on vérifie s'il y a des forums à lister
if (mysql_num_rows($requete2) < 1)
{
        echo'Il n y a pas de forum :o
        Allez en ajouter avec le panneau d administration';
}
else
{
		echo'<div id="conteneurforum">';
		echo'<div id="forum" class="float">Forum</div>';
		echo'<div id="sujet" class="float">Sujets</div>';
		echo'<div id="message" class="float">Messages</div>';
		echo'<div id="derniermess" class="float">Derniers Messages</div>';
		echo'<div class="clear"></div>';
		echo'<br />';
        //Début de la boucle
		echo'<div id="conteneurtotal">';
        while($data2 = mysql_fetch_assoc($requete2))
        {
		
        //On affiche chaque catégorie
		
        if( $categorie != $data2['cat_id'] )
        {
        //Si c'est une nouvelle catégorie on l'affiche
      			
                $categorie = $data2['cat_id'];
			
				
								//Affichage des forums

                //Ici on met le contenu de chaque catégorie

  				// Ce super echo de la mort affiche tous
                // les forums en détail : description, nombre de réponses etc...
				echo'<div class="conteneurinfohaut">';
				echo'<div class="petitebar"></div>';
				echo'<div class="forum float">'.utf8_encode($data2['cat_nom']).'</div>';
				echo'<div class="sujethaut float">SUJETS</div>';
				echo'<div class="messagehaut float">MESSAGES</div>';
				echo'<div class="derniermesshaut float">DERNIER MESSAGE</div>';
				echo'<div class="clear"></div>';
				echo'</div>';
				
		}
				
								if (verif_auth($data2['auth_view']))
				{
				
				echo'<div class="lu float"><img src="./images/message.gif" alt="message" /></div>';
				echo'<div class="nomforum float">
					<p style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px;"><a href="./voirforum.php?f='.utf8_encode($data2['forum_id']).'">'.utf8_encode($data2['forum_name']).'</a></p>
					<p style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:11px;">'.utf8_encode($data2['forum_desc']).'</p>
				</div>';
				echo'<div class="sujet float">'.$data2['forum_topic'].'</div>';
				echo'<div class="float message">'.$data2['forum_post'].'</div>';
				echo'<div class="float derniermess">';
				
				if (!empty($data2['forum_post']))
                {
					echo'<p>'.date('H\hi \l\e d/M/Y',$data2['post_time']).'</p>';
					echo'<p><a href="./voirprofil.php?m='.$data2['post_createur'].'&amp;action=consulter">'.$data2['membre_pseudo'].'  </a><a href="./voirtopic.php?t='.$data2['topic_id'].'"><img src="./images/go.gif" alt="go" /></a></p>';
				}
                else
                {
                        echo'<p style="padding-top:6px;">Pas de message</p>';
                }
				
				echo'</div>';
				echo'<div class="clear"></div>';
				
               
				}
			
                //Cette variable stock le nombre de message, on la met à jour
                $totaldesmessages = $totaldesmessages + $data2['forum_post'];

                //On ferme notre boucle et nos balises
        } //fin de la boucle
		echo'</div>';
		
} //fin du else
echo'</div>';

//Le pied de page ici :
echo'<br />';
echo'<div id="footer">';
	echo'<div id="what">Qui est en ligne ?</div>';
	if(!empty($_SESSION['id'])){
			$requeteimg = mysql_query('SELECT membre_avatar FROM forum_membres WHERE membre_id="'.$_SESSION['id'].'"');
			$imgmembre = mysql_fetch_array($requeteimg);
			echo'<div id="imgmembre" class="float"><img src="./images/avatars/'.$imgmembre['membre_avatar'].'" /></div>';
		}else{
			echo'<div id="imgmembre" class="float"><img src="./images/whosonline.gif" alt="qui est en ligne" /></div>';
	}
$requete3 = mysql_query('
SELECT membre_id 
FROM forum_membres');

$TotalDesMembres = mysql_num_rows($requete3);

$requete4 = mysql_query('
SELECT membre_pseudo, membre_id, membre_connexion
FROM forum_membres
ORDER BY membre_id DESC LIMIT 0, 1');

$data4 = mysql_fetch_assoc($requete4);
$derniermembre = $data4['membre_pseudo'];

//On a plus qu'à utiliser echo
echo'<div id="infomembre" class="float">';
echo'<div id="info1">';
	echo'<p>Nos membres ont posté un total de <strong>'.$totaldesmessages.'</strong> message</p>';
	echo'<p>Nous avons <strong>'.$TotalDesMembres.'</strong> membre enregistré</p>';
	echo'<p>L\'utilisateur enregistré le plus récent est  <a href="./voirprofil.php?m='.$data4['membre_id'].'&amp;action=consulter"><strong>'.$derniermembre.'</strong></a></p>';
echo'</div>';
echo'<div id="info2">';

	$sqlmembre="SELECT membre_id, membre_pseudo, membre_derniere_visite, membre_rang FROM forum_membres WHERE membre_derniere_visite > ('".time()."'-300)";
	//echo $sqlmembre;
	//echo'<br />';
	//echo time();
	//echo'<br >';
	$resultmembreconnecter=mysql_query($sqlmembre);
	$nombredemembreconnecter=mysql_num_rows($resultmembreconnecter);
	
	$sqlvisiteurconnecter="SELECT ip, timestamp FROM visiteur WHERE timestamp > ('".time()."'-300)";
	//echo $sqlvisiteurconnecter;
	//echo'<br />';
	$resultvisiteurconnecter=mysql_query($sqlvisiteurconnecter);
	$nombredevisiteurconnecter=mysql_num_rows($resultvisiteurconnecter);
	
	$nombretotaldeconnecter=$nombredemembreconnecter+$nombredevisiteurconnecter;
	
	$visiteurMax="SELECT visiteurMax, timestamp FROM visiteurmax";
	$resultvisiteurmax=mysql_query($visiteurMax);
	$visiteMax=mysql_fetch_assoc($resultvisiteurmax);
	$comptevisitemax=mysql_num_rows($resultvisiteurmax);
		if($comptevisitemax == 0){
			$insertmax="INSERT INTO visiteurmax(visiteurMax) VALUE('".$nombretotaldeconnecter."')";
			$resultinsert=mysql_query($insertmax);
			echo $insertmax;
		}else{
			if($nombretotaldeconnecter > $visiteMax['visiteurMax']){
				$updatemax="UPDATE visiteurmax SET visiteurMax='".$nombretotaldeconnecter."', timestamp='".time()."'";
				$resultupdatemax=mysql_query($updatemax);
			}
		}
	
	echo'<p>Il y a en tout <strong>'.$nombretotaldeconnecter.'</strong> utilisateur en ligne : '.$nombredemembreconnecter.' Enregistré, '.$nombredevisiteurconnecter .' Visiteur [<span style="color:red;"> Administrateur </span>] [<span style="color:green;"> Modérateur </span>] [<span style="color:blue;"> Utilisateur </span>]</p>';
	echo'<p>Le record du nombre d\'utilisateurs en ligne est de <strong>'.$visiteMax['visiteurMax'].'</strong> le '.date('d M Y à H\hi',$visiteMax['timestamp']).'</p>';
	echo'<p>Utilisateurs enregistrés : ';
		while($ligne=mysql_fetch_array($resultmembreconnecter)){
			$color='';
			if($ligne['membre_rang'] == 2){
				$color='blue';
			}
			if($ligne['membre_rang'] == 3){
				$color='green';
			}
			if($ligne['membre_rang'] == 4){
				$color='red';
			}
	 		echo'<a style="color:'.$color.'" href="./voirprofil.php?m='.$ligne['membre_id'].'&amp;action=consulter"><strong>'.$ligne['membre_pseudo'].'</strong></a>&amp;nbsp;';
		}
	echo'</p>';
echo'</div>';
echo'</div>';
echo'<div class="clear"></div>';
?>
            </div>
            <p style="margin:0px; padding:0px; padding:2px; font-family:Verdana,Arial,Helvetica,sans-serif; font-size:10px;">Ces donn&eacute;es sont bas&eacute;es sur les utilisateurs actifs des cinq derni&egrave;res minutes</p>
            <?php
	if (!isset($_SESSION['pseudo'])){
?>
            <div id="connexion">
              <div id="connec">Connexion</div>
              <div id="formulaire">
                <form action="../membre/connection_verif.php" method="post">
                  <div class="float" style="margin-right:20px;">Nom d'utilisateur :
                    <input name="pseudo" type="text" id="pseudo" size="10px" />
                  </div>
                  <div class="float" style="margin-right:20px;">Mot de passe :
                    <input type ="password" name="motdepasse" id="password" size="10px" />
                  </div>
                  <div class="float" style="margin-right:20px;">Code :
                    <input type="text" name="code" id="codeverif" size="10px" />
                  </div>
                  <div style="text-align:center; margin-right:20px;" class="float"><img src="../membre/img_verif.php" alt="verif.php" style="text-align:center;" /> </div>
                  <div class="float" style="margin-right:20px;">Se connecter automatiquement &agrave; chaque visite
                    <input class="text" name="autologin" type="checkbox" />
                  </div>
                  <div class="float" style="margin-right:20px;">
                    <input type="submit" value="Login" name="connection" id="submit" />
                  </div>
                </form>
                <div class="clear"></div>
              </div>
            </div>
            <?php
		}
	?>
            <div id="legende">
              <div class="float"><img src="./images/message_lu.gif" alt="message lu" /></div>
              <div class="float legende">Nouveaux messages</div>
              <div class="float"><img src="./images/message.gif" alt="lessage" /></div>
              <div class="float legende">Pas de nouveaux messages</div>
              <div class="float"><img src="./images/folder_locked_big.gif" alt="folder locked" /></div>
              <div class="float legende">Forum Verrouill&eacute;</div>
              <div class="clear"></div>
              <?php
			if(@$_SESSION['level'] == 4){
				echo'<br /><div id="administration"><a href="admin.php">Aller au panneaux d\'administration</a></div>';
			}
		?>
            </div>
            <div id="powered">Powered by DesignCSS &copy; 2006, 2007 For Buz Team<br />
              Valide XHTML 1.0 &amp; CSS 2.0</div>
          </div>
          <div id="bottom"></div>
        </div>
        <div id="sep"></div>
      </div>
    </div>
  </div>
</div>
<div id="backnews"></div>
<div id="info">
  <div id="hautinfo"></div>
  <div id="milieuinfo">
    <p>lol</p>
  </div>
  <div id="basinfo"></div>
</div>
</div>
</body>
</html>


merci d'avance !

EDIT : j'ai oublié de dire que la deuxième image c'est que du code HTML moi j'arrive pas à le faire en PHP
Modifié par Viva (21 May 2008 - 12:05)
Viva a écrit :
Personne ? meme pas Heyoan le génie ? ^^


Avec une page en ligne çà serait plus simple Smiley cligne
Viva a écrit :
Personne ? meme pas Heyoan le génie ? ^^
Smiley wingol

Bon même si ça fait plaisir à mon ego et à ma pitite môman qui en est persuadée depuis toujours, je crois que tu m'as confondu avec les vrais experts qui arpentent le forum (et grâce à qui j'ai appris tout ce que je sais Smiley prie ) !

En même temps ils n'ont aucun mérite puisque après tout c'est leur métier Smiley err !

Blague à part c'était juste pour préciser que pour un problème de mise en page le code php n'est d'aucune utilité, contrairement au code html généré et au code css qui va avec... et bien sûr dans un monde idéal c'est une page en ligne Smiley langue ...


PS : ma môman me demande de te dire qu'elle aime beaucoup ce que tu fais Smiley lol !
Arf ! Après avoir vu la page et (bien) relu ton premier message je crois bien qu'il ne s'agit pas d'un problème de css mais bien de php (donc pas dans le bon forum Smiley cligne ).

Alors si cette-fois ci j'ai bien compris c'est toi qui voudrais rajouter un <div> à la fin de chaque catégorie mais pour l'instant ça s'affiche après chaque message Smiley murf !

Si c'est bien ça il me semble que tu pourrais essayer quelque chose comme :
...
//Dans un premier temps on vérifie s'il y a des forums à lister
if (mysql_num_rows($requete2) < 1)
{
        echo'Il n y a pas de forum :o
        Allez en ajouter avec le panneau d administration';
}
else
{
	echo'<div id="conteneurforum">';
	echo'<div id="forum" class="float">Forum</div>';
	echo'<div id="sujet" class="float">Sujets</div>';
	echo'<div id="message" class="float">Messages</div>';
	echo'<div id="derniermess" class="float">Derniers Messages</div>';
	echo'<div class="clear"></div>';
	echo'<br />';
	//Début de la boucle
	echo'<div id="conteneurtotal">';
	while($data2 = mysql_fetch_assoc($requete2))
	{   
		//On affiche chaque catégorie
		if( $categorie != $data2['cat_id'] )
		{ [b] 

			//Si on a déjà affiché une catégorie, on affiche notre <div>
			if( $categorie != '' )
			{
				echo '<div>ICI</div>';
			} [/b] 

			//Si c'est une nouvelle catégorie on l'affiche
			$categorie = $data2['cat_id'];
			//Affichage des forums
			//Ici on met le contenu de chaque catégorie
			// Ce super echo de la mort affiche tous
			// les forums en détail : description, nombre de réponses etc...
			echo'<div class="conteneurinfohaut">';
			echo'<div class="petitebar"></div>';
			echo'<div class="forum float">'.utf8_encode($data2['cat_nom']).'</div>';
			echo'<div class="sujethaut float">SUJETS</div>';
			echo'<div class="messagehaut float">MESSAGES</div>';
			echo'<div class="derniermesshaut float">DERNIER MESSAGE</div>';
			echo'<div class="clear"></div>';
			echo'</div>';
		}
		if (verif_auth($data2['auth_view']))
		{
			echo'<div class="lu float"><img src="./images/message.gif" alt="message" /></div>';
			echo'<div class="nomforum float">
			<p style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px;"><a href="./voirforum.php?f='.utf8_encode($data2['forum_id']).'">'.utf8_encode($data2['forum_name']).'</a></p>
			<p style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:11px;">'.utf8_encode($data2['forum_desc']).'</p>
			</div>';
			echo'<div class="sujet float">'.$data2['forum_topic'].'</div>';
			echo'<div class="float message">'.$data2['forum_post'].'</div>';
			echo'<div class="float derniermess">';
			if (!empty($data2['forum_post']))
			{
				echo'<p>'.date('H\hi \l\e d/M/Y',$data2['post_time']).'</p>';
				echo'<p><a href="./voirprofil.php?m='.$data2['post_createur'].'&action=consulter">'.$data2['membre_pseudo'].'  </a><a href="./voirtopic.php?t='.$data2['topic_id'].'"><img src="./images/go.gif" alt="go" /></a></p>';
			}
			else
			{
				echo'<p style="padding-top:6px;">Pas de message</p>';
			}
			echo'</div>';
			echo'<div class="clear"></div>';
		}
		//Cette variable stock le nombre de message, on la met à jour
		$totaldesmessages = $totaldesmessages + $data2['forum_post'];
		//On ferme notre boucle et nos balises
	} //fin de la boucle [b] 


	// On vient d'afficher la dernière catégorie, donc on affiche notre <div>
	echo '<div>ICI</div>'; [/b] 

	echo'</div>';
} //fin du else
echo'</div>';
//Le pied de page ici :
...

Bon pas pu tester car pas de données...

A+ Smiley smile
Modifié par Heyoan (19 May 2008 - 23:56)
Salut,

Je suppose que tu génères une requête SQL pour connaitre tes catégories. Je suppose aussi qu'elles ont une catégorie parent selon laquelle elles doivent être classées.

Dans ce cas, il faut créer une variable tampon, que tu laisseras vide. Puis, pour chaque catégorie (dans la boucle qui exploite le résultat de la requête), tu regarderas si le tampon est différent de la catégorie parent.

- Si oui : tu ajoutes le code pour obtenir le haut de la fenêtre, en bleu (sans oublier de fermer l'éventuelle fenêtre précédente), et tu fais $tampon = $categorie_parent;
- Si non : tu ne fais rien.

Comme ça, tu devrais réussir à te retrouver dans le cas de figure numéro 2.

Cordialement, SD.
Merci à vous, j'ai opté pour la réponse de Heyoan qui marche Nikel encore merci à toi Amigos ^^