1

データベースに一連の画像 URL があり、それを<img>タグにエコーして Web サイトに表示します。

私はブートストラップを使用しており、基本モデルを次のように設定しています。

<div class="row-fluid gallery">
 <div class="span3">
  <img src="some fancy url here for the image">
 </div>
</div>

これで、ブートストラップを使用したことがある場合は、12 に達するとわかりますspan3(基本的に、4 つの画像が行に表示される場合)。画像をすべて一列に並べるために、上記を最初からやり直す必要があります。

画像ソースと上記のレイアウトをエコーアウトする PHP スクリプトを以下に示します。問題は、エコーアウトする画像が 4 つ以上あることです。セキュリティ上の理由から資格情報を削除しました。

$con=mysqli_connect("localhost","username","password","db_name");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM gallery");

while($row = mysqli_fetch_array($result))
{
    echo "<div class='row-fluid gallery'>";
        echo "<div class='span3'>";
            echo"<img src='". row['image_url']."'>";    
        echo "</div>";
    echo "</div>";
}

mysqli_close($con);

私の質問は、次のようなことをどのように行うかです。

for every 4th image {
 <div class="row-fluid gallery">
  <div class="span3">
   <img src="some fancy url here for the image">
  </div>
 </div>
}

基本的に、私は英語でそれを言うことができ、必要なものを知っています. しかし、PHP でそれを言って、必要なものを知ってもらうことはできません。どんな助けでも大歓迎です。

4

2 に答える 2

2

ループの外側にカウンター変数を作成し、4 回ごとにチェックする

$i = 1;
while($row = mysqli_fetch_array($result))
{
    // do every time
    if($i % 4 == 0)
    {
        // do only each 4th time
    }
    $i++;
 }
于 2013-09-15T19:13:16.367 に答える
0
$counter=0;
while($row = mysqli_fetch_array($result))
{
    echo "<div class='row-fluid gallery'>";
        echo "<div class='span3'>";
            echo"<img src='". row['image_url']."'>";    
        echo "</div>";
    echo "</div>";
    $counter++;
    if (!($counter%4)) 
        // do your fancy staff, this is the forth image
}
于 2013-09-15T19:11:15.597 に答える