Como fazer para colocar um spinner antes de carregar os dados do bd? Eu clico no link e entra na função do controle e só vai para a página da views quando já está pronto a query. Vi uns exemplos de colocação de spinner, mas se a página ainda não apareceu como faço? Vou anexar a função que chama a página para facilitar.
public function inativos() {
$session = \Config\Services::session();
$pager = \Config\Services::pager();
$usuarios=$this->usuarios->getInativos();//faz a query no bd.
$dados=[
'usuarios'=>$usuarios,
'pager'=>$this->usuarios->pager,
];
echo view('Admin/Relatorios/listaInativos',$dados);
}
Boa noite srs, tem o código abaixo e esta funcionando normal e carregando o Qrcode no HTML na soma.
Porém gostaria de alterar e que fosse da seguinte forma:
Se "totalServico" for menor que "totalProdutos" e diferente de zero então carregue o Qr Code com esse valor
Se não o valor for "0,00" carregue o valor "totalProdutos". Essa finalidade é para ter uma opção de desconto.
<?php
use Piggly\Pix\StaticPayload;
class Os_model extends CI_Model
{
public function getProdutos($id = null)
{
$this->db->select('produtos_os.*, produtos.*');
$this->db->from('produtos_os');
$this->db->join('produtos', 'produtos.idProdutos = produtos_os.produtos_id');
$this->db->where('os_id', $id);
return $this->db->get()->result();
}
public function getServicos($id = null)
{
$this->db->select('servicos_os.*, servicos.nome, servicos.preco as precoVenda');
$this->db->from('servicos_os');
$this->db->join('servicos', 'servicos.idServicos = servicos_os.servicos_id');
$this->db->where('os_id', $id);
return $this->db->get()->result();
}
public function valorTotalOS($id = null)
{
$totalServico = 0;
$totalProdutos = 0;
if ($servicos = $this->getServicos($id)) {
foreach ($servicos as $s) {
$totalServico = $totalServico + $s->preco;
}
}
if ($produtos = $this->getProdutos($id)) {
foreach ($produtos as $p) {
$totalProdutos = $totalProdutos + $p->subTotal;
}
}
return ['totalServico' => $totalServico, 'totalProdutos' => $totalProdutos];
}
public function getQrCode($id, $pixKey, $emitente)
{
if (empty($id) || empty($pixKey) || empty($emitente)) {
return;
}
$result = $this->valorTotalOS($id);
$amount = round(floatval($result['totalServico'] + $result['totalProdutos']), 2);
if ($amount <= 0) {
return;
}
$pix = (new StaticPayload())
->applyValidCharacters()
->applyUppercase()
->setPixKey(getPixKeyType($pixKey), $pixKey)
->setMerchantName($emitente->nome, true)
->setMerchantCity($emitente->cidade, true)
->setAmount($amount)
->setTid($id)
->setDescription(sprintf("%s OS %s", $emitente->nome, $id), true);
return $pix->getQRCode();
}
}
Preciso da ajuda de vocês no seguinte!
Tenho um arquivo retornos.json
{
"retornos": [
{
"id": 1,
"sigla": "00",
"nome": "Efetuado"
},
{
"id": 2,
"sigla": "01",
"nome": "Inválido"
},
{
"id": 3,
"sigla": "02",
"nome": "Corrompido"
}
]
}
E na minha aplicação feita com CodeIgniter tenho uma consulta que me mostra a sigla que está cadastrada no BD.
foreach ($results as $r) {
$retorno = $r->codRetorno;
}
Eu preciso que essa consulta ao me retornar a sigla 02 por exemplo o echo apresente o "nome" para tal "sigla" que esta cadastrada no JSON.
No caso seria a seguinte lógica:
if ("$retorno" == JSON["sigla"]){
echo JSON["nome"];
}
//ESTE NÃO É UM CÓDIGO VÁLIDO, É APENAS PARA FINS DE ENTENDER A LÓGICA DO QUE EU PRECISO.
// PS. ESSA LOGICA PRECISA SER APLICADA DENTRO DE UM FOREACH COM MILHARES DE REGISTROS.
Como eu posso fazer isso?
Estou me familiarizando com o codeigniter e desenvolvendo um site, a estrutura dele montei usando o conceito de uma página só, então eu tenho algumas section que ao clicar nos botões do menu a página vai até a section referenciada, porém, me surgiu uma questão, uma dessas section terá referências a outras páginas separadas, por exemplo, terei alguns cards com produtos, ao clicar em algum desses cards abrirá uma nova página com mais detalhes sobre esse produto, aí nessa página o meu será o mesmo, via template, só que ao clicar no botões ele busca as referências das section da página principal (única) e aí não funciona para voltar para lá, como eu deveria fazer essa referência de forma que funciona-se para ambas as situações?
Não sei se fui clara na minha dúvida, se caso for necessário posso tentar me explicar melhor.
Fala Pessoal... estou tendo algumas dificuldades num projeto pessoal que estou desenvolvendo com o PHP CodeIgniter.
Estou tentando mudar o caminho da pagina inicial, para um template que eu baixei e configurei dentro deste projeto.
Ao fazer isso.. me deparei com o seguinte erro...
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Home::$template
Filename: controllers/Home.php
Line Number: 9
Backtrace:
File: C:\xampp\htdocs\projects\thiago-cardoso\application\controllers\Home.php
Line: 9
Function: _error_handler
File: C:\xampp\htdocs\projects\thiago-cardoso\index.php
Line: 315
Function: require_once
An uncaught Exception was encountered
Type: Error
Message: Call to a member function show() on null
Filename: C:\xampp\htdocs\projects\thiago-cardoso\application\controllers\Home.php
Line Number: 9
Backtrace:
File: C:\xampp\htdocs\projects\thiago-cardoso\index.php
Line: 315
Function: require_once
Em caso de Dúvida, segue aqui também um pouco do arquivo Home.php que estou trabalhando.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
// $this->load->view('home');
$this->template->show('home');
}
}