Странная проблема. Я пытаюсь использовать medoo с sqlite-файлом, чтобы получить некоторые данные. Я получаю многомерный массив. Я проверил с print_r
, что данные действительно в нем.Переменная в PHP, которая увеличивается сама собой?
Это print_r
выход (короткая версия):
Array (
[0] => Array ([id] => 1 [name] => aaa)
[1] => Array ([id] => 2 [name] => bbb)
[2] => Array ([id] => 3 [name] => ccc)
[3] => Array ([id] => 4 [name] => ddd)
[4] => Array ([id] => 5 [name] => eee) ...
)
Это мой код:
$datas = $database->select("suppliers","*");
print_r ($datas);
$length=count($datas);
$i = 0;
while ($i < $length) {
echo $i;
echo '<a href="edit_sup.php?sup='.$datas[$i]["id"].">".$datas[$i]["name"]."</a><br/>";
echo $i;
$i++;
}
Проблема в том, что не все данные получить печатные! При попытке распечатать var $i
, я обнаружил, что до и после a href
значение отличается! Например, выход что-то вроде этого:
0 bbb
21 ddd
43 fff
Как вы можете видеть, в первой строке aaa
должен быть напечатан - но bbb
печатается вместо этого, и aaa
не печатается на всех! (и т. д.)
Любая идея, почему это происходит? Благодарю.
это невозможно для кода и данных, предоставленными вами. – zerkms
Я не вижу, как ваш код пропускает элементы массива. Я даже попробовал это здесь, который, как представляется, печатает желаемый результат: https://3v4l.org/0feUa – Keiji
@zerkms Это возможно ***, учитывая, что линия, эхо-ссылка на ссылку, была неверной. *** Он должен был do ** $ datas [$ i] ["id"]. '>>. ** но он, вероятно, пропустил его и сделал ** $ datas [$ i] ["id"]. ">". **. Другими словами, атрибут HREF имеет проблему ... * ** Если он проверяет исходный код, все значения будут там только искажены и, следовательно, не могут быть отображены. *** – Poiz