5568 sujets

Sémantique web et HTML

Bonjour,

J'ai un souci d'affichage sur mon site. En faite, je voulais mettre un tableau (que j'ai crée en html/css) dans un formulaire (qui me permet de rajouter les news), mais j'ai un problème lorsque je veux l'afficher sur la page désirée. Voila mon problème: Avant le tableau j'ai mis du texte, et juste après le tableau. Mais bizarrement et je ne comprends pas pourquoi, il y a beaucoup d'espace entre le texte et le tableau. Pour mieux comprendre mon problème, vous pouvez le voir sur cette adresse: http://www.cine-seriestv.tk/news.html?id=67
Mais ce qui est bizarre, c'est que si je copie la même chose (le texte et le tableau) et je le colle sur une fichier html, là c'est bon, il n'y a aucun problème.

J'ai regardé le code source de ma page, et je vois qu'il y a des centaines <br> que je ne comprends pas pourquoi.
Je vous joint mon code (fichier news qui me permet d'afficher les données)
<?php       
     
   mysql_connect("", "", ""); //On se connecte à Mysql
   mysql_select_db("");// on selectionne la base  
     
    // On récupère le nombre total de messages 
    $return = mysql_query('SELECT COUNT(*) AS nb_messages FROM news'); 
    $data = mysql_fetch_array($return); 
    $Messages = $data['nb_messages'];
     
    // On récupère les 3 dernières news 
    if(isset($_GET['page'])){ 
        $page = mysql_real_escape_string($_GET['page']); // On récupère le numéro de la page indiqué dans l'adresse ( exemple news.php?page=4) 
    }
    // si non la variable n'existe pas, c'est la première fois qu'on charge la page
    else{ 
        $page = 1; // On affiche la page 1, la page par defaut 
    } 
     
    //si la variable n'existe pas ou qu'elle n'est pas de type numérique
if(!isset($_GET['id']) OR !is_numeric($_GET['id'])){
        //on arrête tout
        exit('Problème de variable !');
    }
    else{
        $variable_id = $_GET['id'];
         
        $result = mysql_query('SELECT * FROM news WHERE id='.mysql_real_escape_string($variable_id).'');
        //si il y a quelque chose
        if(mysql_num_rows($result) != 0){
            //on affiche le résultat       
            while($data = mysql_fetch_array($result)){     
            ?> 
             
            <div class="news">
                <span class="cat_date">
                     
                <em><?php echo stripslashes($data['categorie']); //on recupère catégorie  ?>,</em> le <?php echo date('d/m/Y à H\hi', strtotime($data['date'])); //on recupère la date ?> </span> | <em><a href="#commentaires">Commentaires</a></em><br />
                <h2> <div class="titre"><?php echo stripslashes($data['titre']); //on recupère titre  ?> </div></h2> <div class="trait"></div>
                <div class="introduction"><?php  
                    {   
                        $introduction = nl2br(stripslashes($data['introduction'])); 
                        echo $introduction;
                    }   
                    $data['url'];
                ?> </div>
                 
                <img  src="<?php echo  $data['url']; ?>" alt="image de news" width="615" height="250" />
                 
                <div class="contenu"><?php  
                    {   
                        $contenu = nl2br(stripslashes($data['contenu'])); 
                        echo $contenu; 
                    }   
                ?>
                </div>
                <br />
                 
            </div><br/>
             
            <?php  
            } // Fin de la boucle des news 
        }//fin du if(mysql_num_rows($result) != 0){
        //si il n'y a rien
        else{
            echo 'Aucunes données!';
        }
    }// fin du else
?>

Voila, je viens vers vous parce que je ne comprends vraiment pas. J'ai essayer divers choses mais non. Vous pouvez m'aider à comprendre d'ou vient le problème?


Merci d'avance,
Salut,
<thead><tr><br />
<th>Programmes</th><br />
<th>Journées/Heures</th><br />
<th>Audiences</th><br />
<th>PDA%</th></tr><thead><br />
<tbody><tr><td><img src="images/TF1.png" alt="logo" id="TF1" style="margin:0px; max-width:23px" /> Julie Lescaut (Ep2 S22)</td><br />
<td>09/01/2014 à 20:50</td><td>6.3 millions</td><td>25.1%</td> </tr><br />
<tr><td><img src="images/TF1.png" alt="logo" id="TF1" style="margin:0px; max-width:23px" /> Les Experts (Ep14 S12)</td><br />
<td>08/01/2014 à 20:50</td><td>6.1 millions</td><td>22.7%</td> </tr><br />
<tr><td><img src="images/TF1.png" alt="logo" id="TF1" style="margin:0px; max-width:23px" /> Julie Lescaut (Ep1 S22)</td><br />
<td>02/01/2014 à 20:50</td><td>6.1 millions</td><td>23.7%</td> </tr><br />
<tr><td><img src="images/france2.png" alt="logo" id="France 2" style="margin:0; max-width:23px" /> Castle(Ep19 S5)</td><br />
<td>06/01/2014 à 20:45</td><td>5.9 millions</td><td>20.9%</td> </tr><br />
<tr><td><img src="images/TF1.png" alt="logo" id="TF1" style="margin:0px; max-width:23px" /> Camping Paradis (Ep4 S5)</td><br />
<td>06/01/2014 à 20:50</td><td>5.6 millions</td><td>21.1%</td> </tr><br />
<tr><td><img src="images/TF1.png" alt="logo" id="TF1" style="margin:0px; max-width:23px" /> Les Experts (Ep15 S12)</td><br />
<td>08/01/2014 à 21:40</td><td>5.5 millions</td><td>22.5%</td> </tr><br />
<tr><td><img src="images/M6.png" alt="logo" id="M6" style="margin:0px; max-width:23px" /> Elementary (Ep1 S1)</td><br />
<td>03/01/2014 à 20:50</td><td>5.0 millions</td><td>18.7%</td> </tr><br />
<tr><td><img src="images/M6.png" alt="logo" id="M6" style="margin:0px; max-width:23px" /> Elementary (Ep2 S1)</td><br />
<td>03/01/2014 à 21:45</td><td>4.7 millions</td><td>18.7%</td> </tr><br />
<tr><td><img src="images/M6.png" alt="logo" id="M6" style="margin:0px; max-width:23px" /> Elementary (Ep3 S1)</td><br />
<td>03/01/2014 à 22:35</td><td>4.1 millions</td><td>21.0%</td> </tr><br />
<tr><td><img src="images/france2.png" alt="logo" id="France 2" style="margin:0px; max-width:23px" /> Délit de fuite (Téléfilm)</td><br />
<td>03/01/2014 à 22:35</td><td>4.0 millions</td><td>14.9%</td> </tr><br />


je n'arrive pas à voir ou tu génères ton tableau, mais il y a des <br /> à chaque fin de ligne. Chaque tr représente une nouvelle ligne du tableau, pas besoin de mettre de balise br du coup Smiley smile

Essaye de tous les dégager pour voir Smiley smile


Edit : Bon après avoir lu ton code et réfléchis un peu
$contenu = nl2br(stripslashes($data['contenu'])); 

nl2br rajoute les br à chaque ligne et donc dans ton tableau aussi (pour rien et ce qui pose problème). Suffis d'enlever ça Smiley smile
Modifié par mathieu1004 (15 Jan 2014 - 10:00)
Justement j'ai regardé mon code source, et j'ai vu qu'il a rajouté des <br> alors que je l'avais pas mis.

Ensuite, je devrais mettre plutôt ca?

$contenu = (stripslashes($data['contenu'])); 


Merci d'avance,
Oui tu enlèves nl2br, du coup cela va arrêter d'ajouter les br à chacune des lignes de ton tableau, et normalement l'espace qu'il y a avec ton texte devrait disparaitre Smiley smile


<div class="contenu"><?php  
                    {   
                        $contenu = nl2br(stripslashes($data['contenu'])); 
                        echo $contenu; 
                    }   
                ?>
</div>

devient :
<div class="contenu"><?php  
                    {   
                        $contenu = (stripslashes($data['contenu'])); 
                        echo $contenu; 
                    }   
                ?>
</div>

Ah et aussi ( tant qu'a faire ^^ )
<span style="font-weight: bold;">Prochainement, le site va connaître de nombreux changement... <br /> <br /><strong><div style="text-align: center;">En attendant nous vous souhaitons bonne visite sur le site!!</div></strong> </span>

Tu as une balise div qui est a l’intérieur d'une balise span. Normalement il ne faut pas faire ça.
En gros une balise div est une balise de type bloc ( un genre de conteneur), alors qu'une balise span est une balise de type ligne. Un bloc contient les lignes mais une ligne ne devrait pas contenir de bloc.
Même chose pour la balise strong, il me semble que c'est du type ligne (je suis moins sur je m'en sers pas généralement) , il vaut mieux la mettre dans le div que à l’extérieur.


<span style="font-weight: bold;">Prochainement, le site va connaître de nombreux changement... <br /> <br /> </span><div style="text-align: center;"><strong>En attendant nous vous souhaitons bonne visite sur le site!!</strong></div>



Edit au passage : L'autre jour j'ai lu qu'il faut passé de mysql à mysqli en php ( c’était dans la signature de je ne sais plus qui ^^ )
Modifié par mathieu1004 (16 Jan 2014 - 17:40)
Génial! Ca marche, c'était effectivement ca, le problème...

Et merci de m'avoir signalé mon erreur sur le div et span.

Au passage, je suis entrain de faire des travaux sur mon site, mais un avis pourrai m'aider. Tu pourrai me dire ce que tu en pense de mon site globalement (logo, design...)?

Merci d'avance,
Salut,
tu as une partie du forum qui est faite pour ça. Tu n'aura qu'a y déposé un message Smiley smile .
(Désolé, mais je suis un peu une bille en design ^^ )