2012-05-17 135 views
1

可能重复:
Multiple index variables in PHP foreach loop试图遍历2个阵列同时

我试图之前和使用的mysqli,PHP和HTML后图像显示来创建。 我拉从数据库与mysqli和PHP的记录,并试图使用foreach循环查看无序列表中的结果。

我有我的2个数组,它们是在mysqli查询的while循环中创建的。该数组仅包含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--> 

有了它显示的画面当前代码: 前 - 前 - 前 - 前 - 前 - 后 - 后 - 后 - 后 - 后。

当我会把它想diplay: 前 - 后 - 前 - 等等等等之后

我在想一个while循环,但无论我尝试和实现它哪种方式,它会导致一个类似的显示器。 任何帮助或指针在正确的方向将不胜感激。

谢谢。

+0

你可以用一个数组来做到这一点,只需串联字符串。除此之外,之前已经多次询问(和回答)了对两个阵列的循环。 – hakre

回答

1

一个for循环将在这里做的伎俩:

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

你为什么不能打印在mysql循环本身?

+0

你是一位天才先生。感谢堆,现在已经搞乱了一段时间:)我试图分开尽可能多的PHP逻辑,并显示 - 尽可能的HTML,只是使它更容易阅读与页面发生了什么。再次感谢 – Nik