$query = "SELECT * FROM abc";
if ($result = $db->query($query)) {
$row = $result->fetch_assoc();
while ($row = $result->fetch_assoc()) {
$data[] = array("a"=>$row["a"],
"b"=>$row["b"],
"c"=>$row["c"],
"d"=>$row["d"]
);
}
$result->close();
}
$db->close();
<?php foreach ($data as $row) { ?>
<form action="">
<div class="col-lg-3">
<input type="text" value="<?php echo $row['a'] ?>"/>
</div>
<div class="col-lg-3">
<input type="text" value="<?php echo $row['b'] ?>"/>
</div>
<div class="col-lg-3">
<input type="text" value="<?php echo $row['c'] ?>"/>
</div>
<div class="col-lg-3">
<input type="text" value="<?php echo $row['d'] ?>"/>
</div>
</form>
<?php } ?>
上面是我用来检索表中所有行的确切代码。奇怪的是我有5行,它只显示4.第一行缺失。我想知道为什么。
答案 0 :(得分:3)
在您的代码中,您在开始$row = $result->fetch_assoc();
循环之前调用while
。这条线消耗了#34;你的第一个原始,当你进入循环时,你通过第二次调用相同的方法将光标移动到第二行。
while
循环的条件在内容之前执行,在这里您可以找到有关PHP While loop
要修复代码,请删除第一行。
希望这会有所帮助。