在while循环中循环mysqli_fetch_array() [英] Looping inside a while loop mysqli_fetch_array()
问题描述
我有下面的 working 代码,用于从数据库mysqli_fetch_array()
中获取图像并将图像加载到Jquery Mobile 1.2.0中的layout grid
结构中.
Jquery Mobile的layout grid
结构使用内置样式的网格/块限制为五列,ui-block-a
至ui-block-e
.因此,我应该坚持使用JQM样式.
注意::我使用的是四列结构,从ui-block-a
到ui-block-d
为了将八(8)张图像加载到块中并正确设置样式,我必须对四张图像的第一行使用这些类ui-block-a, -b, -c, -d
,对四张图像的第二行使用相同的类. /p>
我在while loop
中使用了foreach (array(a, b, c, d, a, b, c, d) as $i)
,但结果重复.
代码工作正常,但是我想知道是否还有其他可能性可以通过删除所有IF-statements
来实现所需的结构.
代码:
while ($row = mysqli_fetch_array($query)) {
$img = $row["fn"];
if (empty($img)) { break; }
$thumb = 'images/th_'.$img;
if ($count == 8) { break; } // limited to 8 images/results
if ($count == 0) $i = 'a'; //first 4 imgs row classes
if ($count == 1) $i = 'b';
if ($count == 2) $i = 'c';
if ($count == 3) $i = 'd';
if ($count == 4) $i = 'a'; //second 4 imgs row classes
if ($count == 5) $i = 'b';
if ($count == 6) $i = 'c';
if ($count == 7) $i = 'd';
$ths.='<div class="ui-block-'.$i.'"><img src="'.$thumb.'"></div>';
$count = $count + 1;
};
结果:
<div class="ui-grid-c">
<!-- First row -->
<div class="ui-block-a"><img src="img1.jpg"></div>
<div class="ui-block-b"><img src="img2.jpg"></div>
<div class="ui-block-c"><img src="img3.jpg"></div>
<div class="ui-block-d"><img src="img4.jpg"></div>
<!-- Second row -->
<div class="ui-block-a"><img src="img5.jpg"></div>
<div class="ui-block-b"><img src="img6.jpg"></div>
<div class="ui-block-c"><img src="img7.jpg"></div>
<div class="ui-block-d"><img src="img8.jpg"></div>
</div>
提前谢谢!
尝试一下!
$count=0;
$arr=array('a', 'b', 'c', 'd');
while ($row = mysqli_fetch_array($query)) {
$img = $row["fn"];
if (empty($img)) { break; }
$thumb = 'images/th_'.$img;
if ($count == 8) { break; }
$i=$arr[$count%4];
$ths.='<div class="ui-block-'.$i.'"><img src="'.$thumb.'"></div>';
$count++;
};
I have the below working code to fetch images from database mysqli_fetch_array()
and load the images into layout grid
structure in Jquery Mobile 1.2.0.
The layout grid
structure of Jquery Mobile uses built-in styled grid/blocks limited to five columns, ui-block-a
up to ui-block-e
. Hence, I am ought to stick to JQM styles.
NOTE: I am using four columns structure, ui-block-a
to ui-block-d
In order to load eight (8) images into the blocks and have them styled correctly, I have to use these classes ui-block-a, -b, -c, -d
for the first row of four images and the same classes for the second row of four images.
I used foreach (array(a, b, c, d, a, b, c, d) as $i)
inside the while loop
but I got duplicated results.
The code is working fine, but I was wondering if there are other possibilities to achieve the desired structure by removing all IF-statements
.
The code:
while ($row = mysqli_fetch_array($query)) {
$img = $row["fn"];
if (empty($img)) { break; }
$thumb = 'images/th_'.$img;
if ($count == 8) { break; } // limited to 8 images/results
if ($count == 0) $i = 'a'; //first 4 imgs row classes
if ($count == 1) $i = 'b';
if ($count == 2) $i = 'c';
if ($count == 3) $i = 'd';
if ($count == 4) $i = 'a'; //second 4 imgs row classes
if ($count == 5) $i = 'b';
if ($count == 6) $i = 'c';
if ($count == 7) $i = 'd';
$ths.='<div class="ui-block-'.$i.'"><img src="'.$thumb.'"></div>';
$count = $count + 1;
};
The result:
<div class="ui-grid-c">
<!-- First row -->
<div class="ui-block-a"><img src="img1.jpg"></div>
<div class="ui-block-b"><img src="img2.jpg"></div>
<div class="ui-block-c"><img src="img3.jpg"></div>
<div class="ui-block-d"><img src="img4.jpg"></div>
<!-- Second row -->
<div class="ui-block-a"><img src="img5.jpg"></div>
<div class="ui-block-b"><img src="img6.jpg"></div>
<div class="ui-block-c"><img src="img7.jpg"></div>
<div class="ui-block-d"><img src="img8.jpg"></div>
</div>
Thank you in advance!
let's give it a try!
$count=0;
$arr=array('a', 'b', 'c', 'd');
while ($row = mysqli_fetch_array($query)) {
$img = $row["fn"];
if (empty($img)) { break; }
$thumb = 'images/th_'.$img;
if ($count == 8) { break; }
$i=$arr[$count%4];
$ths.='<div class="ui-block-'.$i.'"><img src="'.$thumb.'"></div>';
$count++;
};
这篇关于在while循环中循环mysqli_fetch_array()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!