php - 通过它们在php中的索引选择性地通过多维关联数组进行交互
问题描述
我正在使用 php 开发一个网站,我正在从 sql server 获取数据。我需要做的是有 2 行,每行将包含 3 列数据。我存储数据的关联数组有6个子数组。我需要创建一个循环,在 3 个条目之后,创建一个新行,并在下一行打印下三个的数据。
我尝试使用 while 循环,但我不知道如何通过索引分隔数组,因为 while($index = mysqli_fetch_assoc(r)) 将打印所有数据,但我希望 3 个在一行中,3 个在下一行。谢谢!
<?php
$q = "SELECT * FROM main_intro";
$r = mysqli_query($link, $q) or die(mysqli_error($link));
$num_rows = mysqli_num_rows($r);
$count = 0;
$intro = mysqli_fetch_assoc($r);
$keys = array_keys($intro) ?>
<div class="row custom_pad">
<?php
for ($i = 0; $i < 3; $i++) {
?>
<div class="col-md-4">
<h2><?php echo $intro['image']; ?><?php echo $intro['heading']; ?></h2>
<p><?php echo $intro['data']; ?></p>
</div>
<?php} ?>
<!-- -->
</div>
我需要的是,在第一行,我需要前 3 个数组数据,然后在下一行,我需要另外 3 个。
解决方案
看起来您想用适当的数据填充每行的三列。现在您只从结果集中获取一行,您必须使用while
循环遍历结果集并使用该 for
循环适当地填充每一列。
<?php
$q = "SELECT * FROM main_intro";
$r = mysqli_query($link, $q) or die(mysqli_error($link));
while($intro = mysqli_fetch_assoc($r)){
?>
<div class="row custom_pad">
<?php
for ($i = 0; $i < 3; $i++) {
?>
<div class="col-md-4">
<?php
switch($i){
case 0:
echo $intro['image'];
break;
case 1:
echo '<h2>' . $intro['heading'] . '</h2>';
break;
case 2:
echo '<p>' . $intro['data'] . '</p>';
break;
}
?>
</div>
<?php
}
?>
</div>
<?php
}
推荐阅读
- spring - Spring Batch DelimitedLineTokenizer - 用双引号解析字符串
- python - 将 bokeh BoxAnnotation 推到后台
- css - 当属性更改值时,为什么我的 css 属性选择器不会刷新
- html - 如何使用 CSS 让我的列一个接一个地显示?
- javascript - 如何更改amcharts中y轴的文字
- html - SVG 没有完美移动
- r - 是否有更轻的 Rstudio 版本可用?
- javascript - 反应 setState 数组问题
- vb.net - 从 VB.NET 调用时注销、重新启动和关闭访问被拒绝 (5)
- flutter - 参数类型“Function”不能分配给参数类型“void Function()?” 在零安全之后