我这里有一个小问题。我有以下代码,我创建一个搜索查询,我试图采取“$ row”数组并创建一个名为“$ item”的新数组,以便我可以回显我的div语句中的值。这段代码有效,我用'follower_username'值回显$ item数组,但只有最后一个值被回显。我在我的数据库Nathan,Brett,Nathan2中有值,它只能回应Nathan2,或数组$ item的最后一个值。
这是我的代码:
$result = mysqli_query($con,"SELECT * FROM followers
WHERE username='$username'");
?>
<?php
while ($row = mysqli_fetch_array($result))
{
$item = $row;
}
?>
<body>
<div id="contentwrap">
<div rel="scrollcontent2">
<?php echo $item['follower_username'];?> <img style="width: 50px; height: auto;"<?php echo '<img src="/user_photo/' . $item['follower_username'] . '.jpeg" />';?>
</div>
我希望我能解决这个问题,这让我烦恼!谢谢你的帮助!!
答案 0 :(得分:0)
您正在做的是每次将item的值重新分配给当前行。
$ row将是结果查询中表行值的对象,因此如果您希望$ item变量中的所有行都需要是一个数组来存储每个结果,而不是将当前行存储在同一行中每行的变量。
然后,您需要迭代该数组以显示每个结果。
$i = 0;
$item = array();
while ($row = mysqli_fetch_array($result))
{
$item[$i] = $row;
$i++;
}
<div>
<?php
foreach ($item as $value)
{
echo $value['follower_username'];
}
?>
</div>
下面是一个显示相同想法的简写版本的示例: $ item = array();
while ($row = mysqli_fetch_array($result))
{
$item[] = $row;
}
<div>
<ul>
<?php foreach ($item as $value): ?>
<li><?php echo $value['follower_username']; ?></li>
<?php endforeach; ?>
</ul>
</div>
答案 1 :(得分:0)
while($ row = mysqli_fetch_array($ result))
这样做是抓取结果集中的下一行,并将其分配给变量$row
。每次循环运行时,它都会将最新行分配给$item
。因此,要存储整个结果集,请使用
$item[] = $row.
我确定你要用下一行代码完成什么。要显示您需要的所有项目
foreach($item as $singleItem)
{
echo $singleItem['follower_username']."<br>";
}