У меня здесь небольшая проблема. У меня есть следующий код, который я создаю поисковый запрос, и я пытаюсь взять массив "$ row" и создать новый массив с именем "$ item", чтобы я мог повторять значения внутри моего оператора div. Этот код работает, и я делаю эхо массив $ item со значениями 'follower_username', но только последнее значение получает эхо. У меня есть значения внутри моей базы данных 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>
Надеюсь, я смогу это решить, это меня повредит! Спасибо за любую помощь!!
То, что вы делаете, переназначает значение элемента в текущей строке каждый раз.
$ 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>
while ($ row = mysqli_fetch_array ($ result))
То, что это делает, это захватить следующую строку в результирующем наборе и назначить ее переменной $row
. Каждый раз, когда цикл работает, он присваивает последней строке значение $item
. Таким образом, чтобы сохранить весь набор результатов, используйте
$item[] = $row.
Я уверен, что вы пытаетесь выполнить с нашей следующей строкой кода. Чтобы показать все предметы, вам нужно что-то вроде
foreach($item as $singleItem)
{
echo $singleItem['follower_username']."<br>";
}