У меня есть эта ошибка с CodeIgniter в моем виде, я хочу напечатать стоимость в таблице и меня помечает эта ошибка. Я - что-то новое в CodeIgniter.
В начало ее ты видел я поместил этот код:
<?php if(isset($registros[0])){?>
С которым уже меня не помечает ошибка, но равного способа таблица продолжает быть пустой, не приносит данные или места в array.
Кто-то мог бы основываться в решении проблемы? Чтобы печатать данные. Заранее, спасибо.
Вид (recibos_tabla.php):
<table class="table datatable no-margin" style="width:100%" id="tblRecibos">
<thead>
<th>#</th>
<th>Cliente</th>
<th>Total</th>
<th>Emisión</th>
<th>Estado</th>
<th>Opciones</th>
</thead>
<tbody>
<?php foreach ($registros as $index => $recibo): ?>
<tr data-id="<?php echo $recibo['id'] ?>">
<?php
if ($recibo['status'] == 1) {
$status = "<label class='label label-success'>Normal</label>";
$btnStatus = "<button type='button' data-id='".$recibo['id']."' data-status='".$recibo['status']."' class='btn btn-sm btn-danger btn-toggle-log'><i class='fas fa-toggle-off'></i></button>";
}
else if ($recibo['status'] == 0) {
$status = "<label class='label label-danger'>Cancelada</label>";
$btnStatus = "<button data-id='".$recibo['id']."' type='button' data-status='".$recibo['status']."' class='btn btn-sm btn-success btn-toggle-log'><i class='fas fa-toggle-on'></i></button>";
}
else {
$status = "<label class='label label-primary'>Cortesia</label>";
}
$btnEdit = "<button type='button' data-id='".$recibo['id']."' class='btn btn-sm btn-warning btn-edit-log'><i class='fas fa-edit'></i></button>";
$fecha = new datetime($recibo['f_recibo']);
?>
<td><?php echo $index + 1 ?></td>
<td data-cliente="<?php echo $recibo['id_cliente'] ?>"><?php echo $recibo['cliente'] ?></td>
<td><?php echo $recibo['total'] ?></td>
<td><?php echo $fecha->format("d/m/Y") ?></td>
<td><?php echo $status ?></td>
<td>
<?php
echo $btnEdit;
echo " ".$btnStatus;
echo " <button type='button' class='btn btn-sm btn-primary btn-imprimir'><i class='fas fa-print'></i></button>"
?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
Драйвер (Recibos.php)
public function data () {
if (hasAccess($this->session->userdata("id_perfil"), $this->modulo['id'])) {
$answ['data'] = $this->Modelo->listar($this->lista_recibos);
if ($answ['data']) {
$answ['code'] = 1;
foreach ($answ['data'] as &$recibo)
$recibo['servicios'] = $this->RecibosModelo->servicios($recibo['id']);
}
else $answ['code'] = 0;
echo json_encode($answ);
}
}
Модель (RecibosModelo.php):
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class RecibosModelo extends CI_Model {
public function __construct() {
parent::__construct();
}
public function servicios ($idRecibo) {
$this->db->where("id_recibo", $idRecibo);
$servicios = $this->db->get("listar_detalle_recibos");
if ($servicios->num_rows() > 0)
return $servicios->result_array();
return false;
}
}
Это просто происходит, потому что аргумент, который ты перемещаешь foreach
, не может пробегаться, уже будьте, потому что это не ни ни один array
также один object
, лично я рекомендую использовать тебе:
if (is_array($values) || is_object($values))
{
foreach ($values as $value)
{
...
}
}
ты Можешь реализовывать один var_dump()
из договоренности, которую ты перемещаешь foreach, чтобы знать, содержит ли он элементы и понимать, что то, что нужно.