1

PHPフォトギャラリーを作成しようとしています(はい、他のソリューションを試しましたが、希望する設定では機能しません)while。テーブルごとに3つのサムネイルを表示したいので、このループを3回停止しようとしています。行。これが私の現在のコードです:

<table>
<tr>
<?php while($row2 = mysql_fetch_assoc($result)) { echo "
<td><a href='URL/".$row2['file']."'><img src='URL/".$row2['file']."' width='200' height='106' /></a></td>
"; } ?>
</tr>
</table>

PHPループを停止することについて何も学んだことを覚えていないので、助けてください!よろしくお願いします。

4

5 に答える 5

4

したがって、実際に必要なのは、1行あたり3つの画像です。私はこれがうまくいくと思います:

<table>
  <?php 
    $i = 0;
    while($row2 = mysql_fetch_assoc($result)) { 
      if($i%3==0)
        echo "<tr>"; 
      echo "<td><a href='URL/".$row2['file']."'><img src='URL/".$row2['file']."' width='200' height='106' /></a></td>";
      if($i%3==2)
        echo "</tr>";
      $i++;
    }
    if($i%3!=0)
      echo "</tr>";
  ?>
</table>
于 2012-07-20T02:16:11.317 に答える
1
<table>
<tr>
<?php 
$i=1;
while($row2 = mysql_fetch_assoc($result)) { echo "
<td><a href='URL/".$row2['file']."'><img src='URL/".$row2['file']."' width='200' height='106' /></a></td>
"; 
if($i>=3) break;
$i++;

} ?>
</tr>
</table>
于 2012-07-20T01:25:16.547 に答える
0

whileにANDを追加して、カウンターと比較してみてくださいwhile($ row2 = mysql_fetch_assoc($ result)&& $ i <3)

ループの前に$iを0に設定します

于 2012-07-20T01:29:23.413 に答える
0

元のMySQLクエリで返される結果を制限してみませんか?次のようにクエリに制限を追加できます。

limit 3

そうすれば、$ resultには3行しかないため、追加のPHPやメモリ内のDBからのデータが少なくて済みます。

于 2012-07-20T01:33:20.450 に答える
-1

次のようなカウンターを追加できます。

$nr = 1;
while($row2 = mysql_fetch_assoc($result)) { 
if ($nr < 4) {
do your thing;
}
$nr++;
}
于 2012-07-20T01:25:44.907 に答える