0

カタログの色ごとに 1 つずつ、ハイパーリンクされた画像のリストを作成しようとしています。レイアウトを次のようにしたい:

色

ただ、私はおそらく5つまたは6つの幅と高さの数だけを行います. 追加する画像は MySQL クエリの結果から生成されるため、静的ではありません。foreach ステートメントを使用して、次のようなリスト要素を簡単に作成できます。

foreach ($result as $key => $value) {

  echo '<li><a href="?color='.$value.'"><img src="'.$value.'.jpg" /></a></li>';

}

...上記は簡単な例です。<td>ただし、これがリストで達成できない場合、テーブルでこれを行うにはどうすれば<tr>よいでしょうか?

ありがとう!

4

4 に答える 4

2

div または li を使用して、単純にfloat:left

また、DB から返された結果を数えることができるため、必要な tr/td の数を計算できるため、テーブルを生成する前にどれだけの結果が得られるかわからないということは、実際には正しくありません。

于 2013-11-05T23:36:21.367 に答える
0

他の回答と同様に、リストも使用することをお勧めしますが、テーブルを使用する必要がある場合は、次のコードを使用してください

<?php
$noPerRow = 10; //adjust this to your layout
if ($result){?>
  <table>
    <tr>
      $c = 0;       
      foreach ($result as $key => $value) {
        $c++;
        echo '<td><a href="?color='.$value.'"><img src="'.$value.'.jpg" /></a></td>';
        if ($c % $noPerRow == 0){
            echo '</tr><tr>';
        }
      }
      //tidy up last row
      while ($c % $noPerRow != 0){
        echo '<td>&nbsp;</td>';
        $c++;
      }
      ?>
      </tr></table><?php

}
?>
于 2013-11-06T00:25:50.850 に答える
0

<div>代わりにタグを使用できますか?

foreach ($result as $key => $value) {

  echo "<div class='some-class'>
           <a href='....?color=$value'><img src='$value.jpg' /></a>
        </div>";

}

..そしてCSSを適用してフロートさせて、親コンテナをうまく埋めますか? すなわち:

div.some-class { .... .... float:left; }

于 2013-11-06T00:04:53.203 に答える