Aligner des photos en php

Fermé
t671 Messages postés 1453 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 13 novembre 2024 - Modifié par t671 le 9/05/2012 à 19:21
 nyang - 9 mai 2012 à 19:53
Bonjour,

J'affiche des photos issus d'une base de donnée (lien). Pour l'instant, elles s'affichent les unes sous les autres. Je voudrais les aligner ! Mais pas moyen !!!! Si je regarde le source de l'affichage à l'écran, je remarque qu'après chaque affichage de photo, je retourne au <div class="titre">.
Je lis deux tables. La table "menu" et la table "menu_doc".

$requete="SELECT menu.id, menu.onglet , menu.titre , menu.soustitre , menu_doc.idph , menu_doc.idliaison , menu_doc.numero , menu_doc.soustitre_doc , menu_doc.titre_doc , menu_doc.nom, menu_doc.lien_fichier, menu_doc.fichier, menu_doc.extension, menu_doc.doublon , menu_doc.texte , menu_doc.textev  
FROM menu LEFT JOIN menu_doc ON menu.id=menu_doc.idliaison   
ORDER BY menu.id DESC, menu_doc.numero ASC, menu_doc.idph ASC";   

$result = mysql_query($requete,$link) or exit ('Erreur : '.mysql_error() );     

$idEncours = 0;     
while($row = mysql_fetch_array($result))     
{     
if ($idEnCours != $row['id'])     
{     
echo '<div class="modif">';    
              echo '.............................';      
echo '</div><p>';    
echo '<div class="titre">'.$row['titre'].'</div><p>';    
echo '<div class="presentation1">'.$row['soustitre'].'</div><p>';    
}    
if ($idEnCours = $row['idliaison'])   
{  
 if (isset($row['titre_doc']))  
  {  
  echo '<div class="titre">'.$row['titre_doc'].'</div>';  
  }  
 if (isset($row['soustitre_doc']))  
  {  
  echo '<div class="presentation1">'.$row['soustitre_doc'].'</div>';  
  }  
 if (isset($row['texte']))  
  {  
  echo '<div class="texte">'.$row['texte'].'</div><p>';  
  }  
 if (!empty($row['textev']))  
  {  
  echo '<center>'.$row['textev'].'</center><p>';  
  }  
} 
if (isset($row['lien_fichier'])) 
  { 
        if (in_array($row['extension'], array( ".jpg", ".JPG", ".png", ".bmp", ".gif")))   
         {   
           echo '<img border=0 height="150" src="../../' . $row['lien_fichier'] . '"></a>  ';     
          }  
}   
}   

?>    

J'ai remarqué que si je remplace
if (isset($row['titre_doc']))  
  {  
  echo '<div class="titre">'.$row['titre_doc'].'</div>';  
  }  
 if (isset($row['soustitre_doc']))  
  {  
  echo '<div class="presentation1">'.$row['soustitre_doc'].'</div>';  
  }  
 if (isset($row['texte']))  
  {  
  echo '<div class="texte">'.$row['texte'].'</div><p>';  
  }  
 if (!empty($row['textev']))  
  {  
  echo '<center>'.$row['textev'].'</center><p>';  
  }  

par
echo ($row['titre_doc']);
echo ($row['soustitre_doc']);
echo nl2br($row['texte']);

les images sont alignées.
Mais si je rajoute echo '<p><font color="#008000" face="BATAVIA" size="5"><b>'; pour la mise en forme de titre_doc, je perds l'alignement des images ..... (????)
J'ai du mal à comprendre !!!!

Merci de m'aider à afficher mes images les unes à côté des autres .
A voir également:

1 réponse

Bonjour,

Vous voulez vraiment écrire cela:
'<p><font color="#008000" face="BATAVIA" size="5"><b>

Cela ne se fait plus depuis presque dix ans et n'est pas conforme.

Ceci dit vos balises peuvent vous faire remarquer que vous ne ferez jamais l'alignement avec php...C'est HTML ou plus actuel CSS qui s'occupe de l'affichage, php n'est là que pour le traitement des contenus.

Renseignez vous sur HTML(dans une version moins ancienne que 2004) et CSS pour la mise en page. HTML et CSS n'étant pas de la programmation mais des balises(Mark up Langage comme dans ML de htML) cela ne devrait pas vous poser de problème.

pour la mise en forme de titre_doc, je perds l'alignement des images ..... (????)

Forcément la balise de paragraphe, la balise b(plus en usage et interdite en XHTML strict) sont des balises de type en ligne, donc à chaque ouverture de ces balises c'est comme si vous ouvriez une nouvelle ligne, à moins de définir autrement avec les feuilles de styles en cascade(Cascading Style Sheet= CSS).
0