I'm using datatable to show records that are queried to a database by means of a web service, I see that the records are drawn correctly when the rows do not exceed 10,000 records on average, the more problems begin when drawing the board, the query is made as follows:
$cliente_ = new nusoap_client($_SESSION['url']); //se crea variable de session si login es correcto
$parametros_ = array('nit' => $_SESSION['idclient'], 'idpunto' => $idpunt, 'finicial' => $fecini, 'ffinal' => $fecfin);
$respuesta_ = $cliente_->call("wrextipopago", $parametros_);
$respuesta_ = json_decode($respuesta_, true);
$tabla;
then the data is organized using foreach in the following way:
foreach ($respuesta_ as $row_) {
$locacion = new Locacion();
$dispensadora = new Dispensadora();
$seleccion = new Seleccion();
$producto = new Producto();
$tipoEntrega = new TipoEntrega();
$informeTodos = new InforDetTodos();
$locacion ->setNombre($row_['nompunto']);
$dispensadora ->setNombre($row_['nombremaq']);
$dispensadora ->setNumeroSerie($row_['serialmaq']);
$producto ->setNombre($row_['nitem']);
$seleccion ->setNombre($row_['numsel']);
$producto ->setValor($row_['vsel']);
$producto ->setCosto($row_['costoprod']);
$informeTodos ->setFecha($row_['fechaventa']);
$tipoEntrega ->setNombre($row_['tipoent']);
$locacion ->setDispensadoras($dispensadora);
$seleccion ->setProducto($producto);
$informeTodos ->setLocacion($locacion);
$informeTodos ->setSeleccion($seleccion);
$informeTodos ->setTipoEntrega($tipoEntrega);
$tabla = $tabla . '<tr>';
$tabla = $tabla . '<td>' . $informeTodos->locacion->getNombre() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->locacion->dispensadoras->getNombre() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->locacion->dispensadoras->getNumeroSerie() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->seleccion->producto->getNombre() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->seleccion->getNombre() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->seleccion->producto->getValor() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->seleccion->producto->getCosto() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->tipoEntrega->getNombre() . '</td>';
$tabla = $tabla . '<td>' . $informeTodos->getFecha() . '</td>';
$tabla = $tabla . '</tr>';
}
return $tabla;
}
and the return is processed with datatable, as I mentioned, up to 10,000 rows on average goes well but more rows start to fail ...
Why can this be presented? How could I solve it?