1

重複の可能性:
PHPforeachループの複数のインデックス変数

mysqli、php、htmlを使用して前後の画像表示を作成しようとしています。mysqliとphpを使用してデータベースからレコードをプルし、foreachループを使用して順序なしリストで結果を表示しようとしています。

mysqliクエリのwhileループで上記で作成された2つの配列があります。配列には5つの結果のみが含まれます(ページネーションのために、後で変更される可能性があります)。

$before_array[] = '
<div class="highslide-gallery">
<li>
<a href="'.$beforeurl.'" class="highslide" onclick="return hs.expand(this)">
<img src="'.$beforeurl.'" width="100px" height="125px" alt="Highslide JS">
</a>
</li>';

$after_array[] = '
<li><a href="'.$afterurl.'" class="highslide" onclick="return hs.expand(this)">
<img src="'.$afterurl.'" width="100px" height="125px" alt="Highslide JS">
</a>
</li>';

ページのビューには、前と後の写真を表示するための次のコードがあります。

<div id="hoverwrap">
<ul class="hoverbox">;

<?php 
foreach ($before_array as $value) {
    echo $value; 
 }

foreach ($after_array as $value) {
  echo $value;
}
?>

</ul>

</div><!-- end of hoverwrap div-->

現在のコードでは、画像が表示されています:前-前-前-前-前-後-後-後-後-後。

表示したい場所:前-後-前-後など。

whileループを考えていたのですが、どちらの方法で実装しても、同じように表示されます。正しい方向へのヘルプやポインタは大歓迎です。

ありがとう。

4

1 に答える 1

1

ループはここforでトリックを行います:

$x = count($before_array);
for($i = 0; $i < $x; $i++) {
    print $before_array[$i];
    print $after_array[$i];
}

なぜmysqlループ自体に出力できないのですか?

于 2012-05-17T06:25:21.190 に答える