Problème d'ailgnement dans un tableau

Sandra -  
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


J'ai un problème d'alignement d'image et de texte.
Dans un tableau j'ai une image et juste en dessous j'ai une description de l'image.
Il y a 4 images par ligne.


Le problème, c'est qu'en fonction de la longueur de la description, mes images ne sont plus vraiment alignées sur la hauteur.


Voici un bout de mon code :
<table>
       <tr>
              <td>
                     <a href="....."><img src="....." /></a><br/>
		     Descriptif de l'objet - Prix€
              </td>
       </tr>
</table>


Si quelqu'un peut me donner un coup de main svp. Merci.

A voir également:

3 réponses

Lord Zero Messages postés 459 Date d'inscription   Statut Membre Dernière intervention   115
 
Salut, met les coms dans un td en dessous, donne une dimension a ton tableau en fonction de la taille de tes images
0
Sandra
 
J'ai déjà essayé de rajouter un <td> pour les commentaires, le problème c'est qu'ils se retrouvent à la gauche de l'image... je les veux en dessous, jme suis dit, je vais essayer avec un <tr> puisque c'est un retour à la ligne...mais j'ai droit à un joli escalier comme ça.
Mon tableau a une hauteur et une largeur.
0
Lord Zero Messages postés 459 Date d'inscription   Statut Membre Dernière intervention   115
 
<table border="2" width="300" style="border-style:double;text-align:center"> 
<tr> 
<td>image1</td> 
<td>image2</td> 
<td>image3</td> 
<td>image4</td> 
</tr> 
<tr> 
<td>com1</td> 
<td>com2</td> 
<td>com3</td> 
<td>com4</td> 
</tr> 
</table> 


Développeur VB6, VBS, VBA, VB.NET, C#, HTML, PHP, JAVASCRIPT, SQL.
0
Sandra
 
Merci de ton aide, le probleme c'est que le tout s'aafiche via du php. J'ai affiché un code simplifié, le vrai code ressemble à ça:
echo '<table id="creation">';
// requête SQL qui ne prend que le nombre d'enregistrements nécessaire à l'affichage.
$select = 'SELECT * FROM type_objet ORDER BY prix_tobjet ASC limit '.$limite.','.$nombre; /*trier par prix! */
$result = mysql_query($select,$connect)  or die ('Erreur : '.mysql_error() );

if($it==1){ /*permettre d'afficher que  4x3 photos*/
		echo '<tr>';
}
					
while($objet=mysql_fetch_array($result)){
	echo '<td><a href="?o='.$objet['id_tobjet'].'"><img src="'.$objet['img_tobjet'].'" class="image_crea" alt="creation" /></a><br/>
						'.$objet['descriptif_tobjet'].' - <b>'.$objet['prix_tobjet'].'€</b></td>';             
		
if ($it==4){  // 4 pour quatre colonnes 
	echo '</tr>';
	$it=0;
}
					
$it++;
}

echo '</table>';

(dsl pour l'alignement)
0
Lord Zero Messages postés 459 Date d'inscription   Statut Membre Dernière intervention   115
 
ou est le pb? je t'ai donné la solution
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
bonsoir,

encore mysql_query() ca fait peur...

sinon essaie ça mais c'est pas super optimisé

<?php

	function table($img,$desc) {
		if(empty($img)) return false;
		
		$nbCols = 4;
		$nbLines = ceil(count($img) / $nbCols);
		
		echo '<table id="creation">'."\r\n";
		for($line = 0; $line < $nbLines ;$line++) {
			for($i = 0; $i <= 1;$i++) {
				echo "\t".'<tr>'."\r\n";
				for($col = 0;$col < $nbCols;$col++) {
					$key = $line * $nbCols + $col;
					echo "\t\t".'<td>';
					if($i == 0 && isset($img[$key])) echo $img[$key]; /* image */
					else if($i != 0 && isset($desc[$key])) echo $desc[$key]; /* description */
					echo '</td>'."\r\n";
				}
				echo "\t".'</tr>'."\r\n";
			}
		}
		echo '</table>';
	}

	// requête SQL qui ne prend que le nombre d'enregistrements nécessaire à l'affichage.
	$select = 'SELECT * FROM type_objet ORDER BY prix_tobjet ASC limit '.$limite.','.$nombre; /*trier par prix! */
	$result = mysql_query($select,$connect)  or die ('Erreur : '.mysql_error() );


	$img = array();
	$desc = array();

	while($objet=mysql_fetch_array($result)) {
		$img[] = '<a href="?o='.$objet['id_tobjet'].'"><img src="'.$objet['img_tobjet'].'" class="image_crea" alt="creation" /></a>';
		$desc[] = $objet['descriptif_tobjet'].' - <b>'.$objet['prix_tobjet'].'€</b>';
	}
	/*
		arrays pour test

	$img = array('img 1','img 2','img 3','img 4','img 5','img 6','img 7','img 8','img 9');
	$desc = array('desc 1','desc 2','desc 3','desc 4','desc 5','desc 6','desc 7','desc 8','desc 9');
	*/

	table($img,$desc);

?>
0