2010-09-24 8 views

Répondre

2

Peut-être ceci:

<UL> 
    <LI CLASS="image"> 
    <IMG SRC="..." /> 
    </LI> 
    <LI CLASS="image"> 
    <IMG SRC="..." /> 
    </LI> 
    <LI CLASS="image"> 
    <IMG SRC="..." /> 
    </LI> 
</UL> 

Avec ce CSS:

.image { 
    display: inline; 
} 
+0

Notez que cela ajustera automatiquement le nombre d'images pour qu'elles correspondent à votre largeur, vous n'avez donc pas besoin de coder en dur un certain nombre de colonnes. –

+0

Oups, avait mes étiquettes à l'envers, fixe. –

+0

Vous ne savez pas pourquoi cela a été downvoted, voici un exemple de comment cela fonctionne, notez que vous pouvez redimensionner à la volée et les colonnes s'adaptent - vous ne l'obtiendrez pas avec des tables ou des sauts de ligne forcés: http: // howansky. org/stackoverflow/3791019.html –

0

Il est vraiment pas difficile, il vous suffit de sortie de PHP le code HTML de la table.

Voici un exemple rapide:

$imagenum=0; 
echo "<table>"; 
while($imagenum < $maximages){ 
    echo "<tr>"; 
    for ($i = 0; $i < 4; $i += 1) { 
    echo "<td>"; 
    if($imagenum < $maximages){ 
    echo "<img src='"; 
    echo get_url_of_my_image($imagenum); 
    echo "' >"; 
    } 
    echo "</td>"; 
    $image+=1; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 
+0

grâce, est Thier une façon de le faire sans l'utilisation de tables – getaway

+0

@Fanis réponse fera de cette façon; –

0

Affichage de l'image est une question d'utiliser la balise html <img>, et vous pouvez utiliser le modulo operator% à savoir quand vous avez affiché des images X de sorte que vous pouvez fermer la ligne existante et en ouvrir une nouvelle.

$images ; //array of image urls 
$countImages = count($images) ; 

$imagesPerRow = 5 ; 

for ($i = 0 ; $i < $countImages; $i++) { 
    //display image here 
    $image = $images[$i] ; 
    echo "<img src='$image'>" ; 

    if ($i % $imagesPerRow == 0) { 
     //have displayed an entire row 
     echo '<br>' ; 
    } 
} 

Modulo renvoie le reste de la division. Donc, disons que vous voulez des rangées de 5 images. Si $ i est divisé par 5 exactement alors le reste sera 0, ce qui signifie que 5 images ont été montrées alors il est temps pour une nouvelle rangée.

+0

j'aime votre réponse, merci, 5 images par rangée est exactement ce que je voulais aussi lol :)) mais que diriez-vous si je seulement un 4 lignes à afficher, donc en gros 20 images! merci – getaway

+0

@getaway si vous voulez seulement afficher 4 lignes de 5 images vous pouvez obtenir seulement 20 images de la base de données, ou si vous ne pouvez pas les limiter, faites en sorte que la boucle ne dépasse que 20 (en supposant que vous avez autant d'images) – Fanis

+0

@getaway Je vous suggère de jeter un coup d'œil à la réponse d'Alex Howansky. C'est plus fluide à l'écran. Vous avez juste besoin de calculer la largeur que vous voulez qu'ils apparaissent et le code HTML décidera du nombre de mettre en. Ensuite, si vous redimensionnez le navigateur, il mettra moins ou plus en conséquence. – Fanis