首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从现有数组php分配新数组只显示数组的最后一个值。

问从现有数组php分配新数组只显示数组的最后一个值。
EN

Stack Overflow用户
提问于 2013-10-25 23:45:22
回答 2查看 188关注 0票数 0

我这里有点小问题。我有下面的代码,我创建了一个搜索查询,我尝试接受"$row“数组并创建一个名为"$item”的新数组,这样我就可以在div语句中回显这些值。这段代码可以工作,我确实用'follower_username‘值回显follower_username数组,但是只有最后一个值被回显出来。我的数据库内森、布雷特、Nathan2中有值,它只回显Nathan2或数组$item的最后一个值。

这是我的代码:

代码语言:javascript
复制
 $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>

我希望我能解决这件事,这让我很困扰!谢谢你的帮助!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-25 23:57:44

您要做的是每次将项的值重新分配到当前行。

$row将是来自结果查询的表行值的对象,因此,如果您希望$item变量中的所有行都是存储每个结果的数组,而不是将当前行存储在每个行的相同变量中。

然后,您将需要迭代该数组以显示每个结果。

代码语言:javascript
复制
$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();

代码语言:javascript
复制
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>
票数 0
EN

Stack Overflow用户

发布于 2013-10-25 23:59:13

时间($row = mysqli_fetch_array($result))

这样做是获取结果集中的下一行,并将其分配给变量$row。每次循环运行时,它都会将最近的行分配给$item。因此,要存储整个结果集,请使用

代码语言:javascript
复制
$item[] = $row.

我肯定你想用我们的下一行代码完成什么。为了展示所有你需要的东西

代码语言:javascript
复制
foreach($item as $singleItem)
{
echo $singleItem['follower_username']."<br>";
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19601094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档