saut de ligne

Petit nouveau ! | 1 Messages

04 avr. 2012, 16:10

bonjour à tous !

j'ai quelques notions en html, mais je suis totalement débutant en php... je ne comprends pas comment faire pour ajouter un saut de ligne !

d’après mes recherches sur le net, il faut mettre les balises </n> ou <p></p> mais je n'y arrive pas !

voici mon code :
<div class="item_second_column">
      <h3><?php echo JText::_('Adress') ?> :</h3>
      <strong>
      <?php if($this->row->adress) echo $this->escape( $this->row->adress ).", <br /> \n" ?>
      <?php if ($this->row->zip_code) echo $this->escape( $this->row->zip_code ) ?> 
      <?php if ($this->row->town) echo strtoupper( $this->escape($this->row->town) )."<br /> \n" ?> 
      </strong> 
      <?php if ($this->row->area) 
              echo JText::_('Area') . ' : <strong>'
				   .$this->escape( $this->row->area ). "</strong>\n" ?>       
    
    <?php if ( $this->row->advantages ) : ?>
     <h3><?php echo JText::_('Advantages') ?> </h3> 
     <?php echo $this->getAdvantages( $this->row->advantages , 'ul' ) ?> 
     <?php endif  ?>   
   </div>
je voudrai ajouter un saut de ligne entre le paragraphe "adress" et le paragraphe "advantages".

comment faut-il faire ?

merci d'avance !

Administrateur PHPfrance
Administrateur PHPfrance | 11405 Messages

04 avr. 2012, 17:50

Le \n sert à provoquer un retour à la ligne dans une chaine générée par PHP.
Ce retour à la ligne apparaît dans le source, pas dans le code HTML affiché sur ton navigateur.

Le <p></p> est une hérésie, employée par des newbiers qui ne veulent pas apprendre le HTML.
Ça pollue le code. On oublie.

Restent 2 possibilités que je te conseille :
- Utiliser les CSS en déclarant, par exemple, un margin-bottom de la taille de ton choix pour le bloc "Adresse"
(ou un margin-top pour le bloc "Avantages. C'est kif-kif)
- se souvenir que la balise <p> définit un paragraphe et l'utiliser de façon adéquate
pour que cet espace s'affiche de lui-même, voire en l'accentuant par un < br /> supplémentaire
comme je l'ai fait dans ton code que j'ai réécrit ci-dessous.

NB : j'en ai profité pour simplifier l'écriture des tes éléments de script :
<?php $a=4; ?>
<?php echo $a; ?>
s'écrit avantageusement :
<?php
$a=4;
echo $a;
?>
<div class="item_second_column">
    <h3><?php echo JText::_('Adress') ?> :</h3>
    <p><strong>
    <?php
    if ($this->row->adress)   echo $this->escape( $this->row->adress ).",<br />\n";
    if ($this->row->zip_code) echo $this->escape( $this->row->zip_code );
    if ($this->row->town)     echo strtoupper( $this->escape($this->row->town) )."<br />\n";
    ?>
    </strong></p>
    <br /> // éventuellement
    <p>
    <?php
    if ($this->row->area)
       echo JText::_('Area') . ' : <strong>'.$this->escape( $this->row->area ). "</strong>\n";
    if ( $this->row->advantages ) :
        { echo '<h3>'.JText::_('Advantages').'</h3>';
          echo $this->getAdvantages( $this->row->advantages , 'ul' );
        }
    ?>
    </p>
</div>