function displayList() { $str = ''; $query = $this->db->query("SELECT * FROM data"); foreach ($query->result() as $row) { $b = '<input name="completed" type="checkbox" />'; $a = $row->title; $str = $b.$a; } return $str; }
Этот скрипт отображает только последнее поле в базе данных.Почему это?
Поскольку вы не объединяете, вы переназначаете. Сделайте это:
$str .= $b.$a;
В противном случае цикл перезаписывает $ str при каждом запуске, что объясняет, почему вы видите только последний результат.
Перезаписывается:
$str = $b.$a;
Эта строка снова меняет каждый цикл. Если вы хотите сделать его массивом, сделайте это
$str[] = $b.$a;
Если вы хотите добавить его к тексту:
должно быть $str .= $b.$a;
Вы перезаписываете $ str каждый раз вместо добавления новой строки в конце