Jump to content

WagnerFilho

Members
  • Content count

    39
  • Joined

  • Last visited

Community Reputation

0 Comum

About WagnerFilho

  1. WagnerFilho

    Module Pattern Javascript

    Não sei se estou aplicando o conceito de javascript modular corretamente, portanto preciso de ajuda! Eu separei os arquivos js por responsabilidades. Cada arquivo será encarregado para uma determinada função. Estou carregando estes arquivos da seguinte forma: <html> <head> </head> <body> <div id="app-info"> <span id="app-name">name</span> </div> <script src="controllers/controllerExample.js"></script> <script src="resources/ajaxApp.js"></script> <script src="models/modelExample.js"></script> <script src="app.js"></script> </body> </html> observação: Eu não quero ir para o requiresJS. sem que antes eu tenha entendido como realmente funciona o modular pattern Além disso, eu quero que o retorno do ajax seja atribuído à um objeto global, podemos chama-lo de ObjectApplication para que em qualquer lugar da aplicação eu possa acessa-lo ? Como posso fazer isto ? Então tenho alguns arquivos js. app.js controllers / controllerExample.js models / modelExample.js resources / ajaxApp.js app.js let ObjectApplication = {}; ;(function( window, document, undefined ) { 'use strict'; function app() { var $private = {}; var $public = {}; $private.privateVar = 'private var'; $public.publicMethod = function() { return 'Init'; }; $private.privateMethod = function() { return 'Private method'; }; return $public; } window.MyGlobalObject = window.MyGlobalObject || {}; window.MyGlobalObject.app = app(); })( window, document ); MyGlobalObject.controllerExample.publicMethod(); console.log(objectApplication.name); controllerExample.js ;(function( window, document, undefined ) { 'use strict'; function controllerExample() { var $private = {}; var $public = {}; $private.privateVar = 'private var'; $public.publicMethod = function() { return MyGlobalObject.modelExample.publicMethod(); //return 'Init'; }; $private.privateMethod = function() { return 'Private method'; }; return $public; } window.MyGlobalObject = window.MyGlobalObject || {}; window.MyGlobalObject.controllerExample = controllerExample(); })( window, document ); modelExample.js ;(function( window, document, undefined ) { 'use strict'; function modelExample() { var $private = {}; var $public = {}; $private.privateVar = 'private var'; $public.publicMethod = function() { buildAppInfo(); //return 'Init in Model'; }; $private.privateMethod = function() { return 'Private method'; }; return $public; } window.MyGlobalObject = window.MyGlobalObject || {}; window.MyGlobalObject.modelExample = modelExample(); })( window, document ); ajax let buildAppInfo = () => { let url = 'app.json'; let xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status = 200) app = JSON.parse(xhr.responseText); console.log(app); } } xhr.send(); };
  2. O problema está na demora da resposta Ajax, quando o arquivo Excel possui muitas linhas para serem inseridas no banco de dados MySql. Pois desta forma minha aplicação fica travada, aguardando a resposta desta requisição. Então gostaria de alguma sugestão para obter a resposta do upload, e em segundo plano a importação fosse realizada, sem interferir no funcionamento da aplicação. Até então, estou utilizando o POST e no servidor PHP, estou utilizando o seguinte código: $tmp = $_FILES['file']['tmp_name']; $name = $_FILES['myfile']['name']; $path = "upload/"; if (move_uploaded_file($tmp, $path . $name)) { //aqui eu chamo funcão para importar o arquivo } ou em codeigniter $file = $_FILES['file']; $config = [ 'upload_path' => FCPATH.'upload/', 'allowed_types' => 'xlsx|xls|csv' ]; $this->load->library('upload', $config); if ($this->upload->do_upload('file')) { $data = $this->upload->data(); @chmod($data['full_path'], 0777); //aqui eu chamo funcão para importar o arquivo } Ajax ajaxCall = $.ajax({ //async: true, url: 'api_upload/upload', data: formData, cache: false, processData: false, contentType: false, type: 'POST', headers: { 'authorization': 'Basic YWRtaW46MTIzNA==', 'Authorizationkeyfortoken': String(responseToken), 'cache-control': 'no-cache', 'postman-token': '51901e9b-3613-248b-621e-ffd06d92ded4' }, // this part is progress bar xhr: function () { let xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener('progress', function (evt) { if (evt.lengthComputable) { let percentComplete = evt.loaded / evt.total; percentComplete = parseInt(percentComplete * 100); $('.my-progress').text(percentComplete + '%'); $('.my-progress').css('width', percentComplete + '%'); } }, false); xhr.addEventListener('load', function (evt) { if (evt.lengthComputable) { //completeSave(); } }, false); xhr.addEventListener('abort', function (evt) { if (evt.lengthComputable) { //completeSave(); } }, false); return xhr; }, //beforeSend: function() { //completeSave(); //}, success: function (data) { //completeSave(); $('.msg').text(data); //$('#import-save').removeAttr('disabled'); } });
  3. WagnerFilho

    Calcular Juros com parcela - PHP

    Consegui resolver: <?php function calculo_negociacao($valor_total, $numero_parcelas, $dt_vencimento, $valor_entrada, $taxa = 0) { $parcelado = []; $inicio = 0; $JUROS = $taxa / 100.00; if ($valor_entrada > 0) { $inicio = 1; $valor_total = $valor_total - $valor_entrada; } $numero_parcelas = $numero_parcelas - $inicio; $valor_parcela = $valor_total * $JUROS * pow((1 + $JUROS), $numero_parcelas) / (pow((1 + $JUROS), $numero_parcelas) - 1); $valor_parcela = number_format((float)$valor_parcela, 2, '.', ''); print_r($valor_total); $parcelado = array_fill($inicio, $numero_parcelas, ['valor_parcela' => $valor_parcela]); // $numero_parcelas - 1 pois será menos 1 com a entrada ou 0 se nao houver // só depois de calcularmos todos é que podemos adicionar a entrada no inicio if ($valor_entrada > 0) { array_unshift($parcelado, ['valor_parcela' => number_format((float)$valor_entrada, 2, '.', '')]); } $dt_vencimento = explode( '-', $dt_vencimento); $dia = $dt_vencimento[0]; $mes = $dt_vencimento[1]; $ano = $dt_vencimento[2]; for($x = 0; $x < $numero_parcelas; $x++){ $parcelado[$x]['parcela'] = $x + 1; $parcelado[$x]['dt_vencimento'] = date('Y-m-d', strtotime('+'.$x.' month', mktime(0, 0, 0, $mes, $dia, $ano))); } return $parcelado; } $valor_total = 150.00; $numero_parcelas = 10; $valor_entrada = 0.00; $dt_vencimento = '09-09-2019'; $taxa = 1.00; $negociacao = calculo_negociacao($valor_total, $numero_parcelas, $dt_vencimento, $valor_entrada, $taxa); echo '<pre>'; echo var_dump($negociacao);
  4. WagnerFilho

    Calcular Juros com parcela - PHP

    Olá! Estou tentando adicionar taxa de juros em cada parcela, seguindo a mesma regra do exemplo neste link: Podem me ajudar com isto ? O Código que tenho até o momento é este: <?php function calculo_negociacao($valor_total, $parcelas, $dt_vencimento, $valor_entrada, $taxa = 0) { $parcelado = []; $inicio = 0; $JUROS = $taxa / 100.00; if ($valor_entrada > 0) { $inicio = 1; $valor_total = $valor_total - $valor_entrada; } $valor = $valor_total / ($parcelas - $inicio); // reduzimos 1 parcela se houver entrada ou 0 se nao $valor = $valor + $valor_total * $JUROS * pow((1 + $JUROS), $parcelas - $inicio); print_r($valor); $valor = number_format((float)$valor, 2, '.', ''); $parcelado = array_fill($inicio, $parcelas - $inicio, ['valor' => $valor]); // $parcelas - 1 pois será menos 1 com a entrada ou 0 se nao houver // só depois de calcularmos todos é que podemos adicionar a entrada no inicio if ($valor_entrada > 0) { array_unshift($parcelado, ['valor' => number_format((float)$valor_entrada, 2, '.', '')]); } $dt_vencimento = explode( '-', $dt_vencimento); $dia = $dt_vencimento[0]; $mes = $dt_vencimento[1]; $ano = $dt_vencimento[2]; for($x = 0; $x < $parcelas; $x++){ $parcelado[$x]['parcela'] = $x + 1; $parcelado[$x]['dt_vencimento'] = date("Y-m-d",strtotime("+".$x." month",mktime(0, 0, 0, $mes, $dia, $ano))); } return $parcelado; } $valor = 150.00; $taxa = 1.00; $valor_entrada= 50.00; $parcela = 4; $dt_vencimento = '09-09-2019'; $negociacao = calculo_negociacao($valor, $parcela, $dt_vencimento, $valor_entrada, $taxa); //var_dump($negociacao); echo '<pre>'; echo var_dump($negociacao); Código em funcionamento
  5. WagnerFilho

    CSS - Position: Sticky

    Muito obrigado, resolveu mesmo!!!
  6. WagnerFilho

    CSS - Position: Sticky

    Olá, Seguindo exatamente o exemplo abaixo, alguém pode me ajudar a trabalhar o position:sticky Hoje, a próxima data está se posicionando em cima da data atual. Desta forma, a opacidade e a sombra da data está ficando em 100%, gerando uma visão grotesca, caso haja muitas datas. Eu quero que a data anterior, suba com o scroll e dê lugar para a próxima data. Se eu adicionar a data e os diálogos em um container, dá certo, porém, preciso trabalhar com o que tenho abaixo. Javascript também é aceito para este trabalho o que tenho até agora jsfiddle <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title></title> <meta name="description" content="sticky"> <meta name="viewport" content="width=device-width"> </head> <body> <div class="chat"> <div class="data">05/03/2019</div> <div class="box recebido">Olá</div> <div class="box enviado">Oi, tudo bem ?</div> <div class="data">06/03/2019</div> <div class="box recebido">Tudo bem!</div> <div class="box recebido">e voce ?</div> <div class="box enviado">Tudo bem tambem</div> <div class="box recebido">preciso de ajuda</div> <div class="box recebido">Voce pode me ajudar</div> <div class="data">07/03/2019</div> <div class="box enviado">Talvez sim</div> <div class="box enviado">O que voce precisa</div> <div class="box recebido">Como posso utilizar o position:sticky ?</div> <div class="box enviado">Deixe-me ver</div> <div class="box enviado">Acho que posso te ajudar</div> <div class="box recebido">Certo</div> </div> </body> <style> * { margin: 0px; padding: 0px; } .chat { overflow: auto; border: solid 1px black; position: fixed; left: 50%; top: 50%; background-color: #e5ddd5; z-index: 100; height: 500px; margin-top: -200px; width: 500px; margin-left: -300px; } .box { width: 300px; margin: 30px auto; padding: 20px; text-align: center; font-weight: 400; color: black; font-family: arial; position: relative; border-radius: 20px; } .box.enviado { background: #dcf8c6; } .box.recebido { background: white; } .recebido:before { content: ""; width: 0px; height: 0px; position: absolute; border-left: 10px solid white; border-right: 10px solid transparent; border-top: 10px solid white; border-bottom: 10px solid transparent; left: 19px; bottom: -19px; } .enviado:before { content: ""; width: 0px; height: 0px; position: absolute; border-left: 10px solid transparent; border-right: 10px solid #dcf8c6; border-top: 10px solid #dcf8c6; border-bottom: 10px solid transparent; right: 19px; bottom: -19px; } .data { background-color: rgba(225, 245, 254, 0.92); color: rgba(69, 90, 100, 0.95)!important; padding: 5px 12px 6px 12px!important; border-radius: 7.5px!important; box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13)!important; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4)!important; margin-bottom: 8px!important; margin-top: 8px!important; margin-right: auto!important; margin-left: auto!important; max-width: 75px; opacity: 0.8; z-index: 2; } .data { top: 10px; position: sticky; } </style> </html>
  7. WagnerFilho

    Importar csv para duas tabelas MYSQL - Codeigniter

    Seria isto ? Mantive a coluna telefone, mas acredito que dê pra ter uma ideia. if(count($result) > 0){ foreach ($result as $r) { $pessoa_id = $r->id; $update = [ 'name' => $line[0], 'phone' => $line[2], 'created' => $line[3], 'status' => $line[4] ]; $this->db->update('member', $update, array('email' => $line[1])); $update_phone = [ 'phone' => $line[2] ]; $this->db->update('phone', $update_phone, array('pessoa_id' => $pessoa_id)); } } else { $insert = [ 'name' => $line[0], 'email' => $line[1], 'phone' => $line[2], 'created' => $line[3], 'status' => $line[4] ]; $this->db->insert('member', $insert); $pessoa_id = $this->db->insert_id(); $insert_phone = [ 'phone' => $line[2], 'pessoa_id' => $pessoa_id ]; $this->db->insert('phone', $insert_phone); }
  8. WagnerFilho

    Importar csv para duas tabelas MYSQL - Codeigniter

    Oi, eu tentei algo do tipo, mas não consegui chegar no resultado. Tem algum exemplo ? Meu problema está em recuperar o ID de cada inserção.
  9. Olá, com a simples função abaixo, consigo importar dados para uma tabela do mysql. A questão é que a coluna telefone ficará em outra tabela e da forma que está hoje, só consigo importar para a mesma tabela. Como posso fazer para importar as colunas de um arquivo csv para uma tabela e a coluna telefone importar para outra tabela ? public function upload_file(){ $tipo = array('application/vnd.ms-excel','text/plain','text/csv','text/tsv'); if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$tipo)){ if(is_uploaded_file($_FILES['file']['tmp_name'])){ // abre o arquivo csv carregado com o modo somente leitura $arquivo = fopen($_FILES['file']['tmp_name'], 'r'); // pula a primeira linha // se o arquivo csv não tiver cabeçalho, apenas comente a próxima linha fgetcsv($arquivo); // analisar dados do arquivo csv linha por linha while(($coluna = fgetcsv($arquivo)) !== FALSE){ // verifica se o membro já existe no banco de dados com o mesmo email $result = $this->db->get_where("tb_pessoa", array("email"=>$coluna[1]))->result(); if(count($result) > 0){ // atualiza os dados da pessoa $this->db->update("tb_pessoa", array("nome"=>$coluna[0], "telefone"=>$coluna[2], "dt_inclusao"=>$coluna[3], "status"=>$coluna[4]), array("email"=>$coluna[1])); }else{ // inserir dados da pessoa no banco de dados $this->db->insert("tb_pessoa", array("nome"=>$coluna[0], "email"=>$coluna[1], "telefone"=>$coluna[2], "dt_inclusao"=>$coluna[3], "status"=>$coluna[4])); } } //close opened csv file fclose($arquivo); $qstring["status"] = 'Success'; }else{ $qstring["status"] = 'Error'; } }else{ $qstring["status"] = 'Invalid file'; } $this->load->view('csvToMySQL',$qstring); } tabelas tb_pessoa nome varchar(100) NOT NULL email varchar(100) NOT NULL telefone varchar(100) NOT NULL dt_inclusao timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP status varchar(100) NOT NULL tb_telefone telefone varchar(100) NOT NULL pessoa_id int(11) NOT NULL
  10. Olá, com a simples função abaixo, consigo importar dados para uma tabela do mysql. A questão é que a coluna telefone ficará em outra tabela e da forma que está hoje, só consigo importar para a mesma tabela. Como posso fazer para importar as colunas de um arquivo csv para uma tabela e a coluna telefone importar para outra tabela ? public function upload_file(){ $tipo = array('application/vnd.ms-excel','text/plain','text/csv','text/tsv'); if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$tipo)){ if(is_uploaded_file($_FILES['file']['tmp_name'])){ // abre o arquivo csv carregado com o modo somente leitura $arquivo = fopen($_FILES['file']['tmp_name'], 'r'); // pula a primeira linha // se o arquivo csv não tiver cabeçalho, apenas comente a próxima linha fgetcsv($arquivo); // analisar dados do arquivo csv linha por linha while(($coluna = fgetcsv($arquivo)) !== FALSE){ // verifica se o membro já existe no banco de dados com o mesmo email $result = $this->db->get_where("tb_pessoa", array("email"=>$coluna[1]))->result(); if(count($result) > 0){ // atualiza os dados da pessoa $this->db->update("tb_pessoa", array("nome"=>$coluna[0], "telefone"=>$coluna[2], "dt_inclusao"=>$coluna[3], "status"=>$coluna[4]), array("email"=>$coluna[1])); }else{ // inserir dados da pessoa no banco de dados $this->db->insert("tb_pessoa", array("nome"=>$coluna[0], "email"=>$coluna[1], "telefone"=>$coluna[2], "dt_inclusao"=>$coluna[3], "status"=>$coluna[4])); } } //close opened csv file fclose($arquivo); $qstring["status"] = 'Success'; }else{ $qstring["status"] = 'Error'; } }else{ $qstring["status"] = 'Invalid file'; } $this->load->view('csvToMySQL',$qstring); } tabelas tb_pessoa nome varchar(100) NOT NULL email varchar(100) NOT NULL telefone varchar(100) NOT NULL dt_inclusao timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP status varchar(100) NOT NULL tb_telefone telefone varchar(100) NOT NULL pessoa_id int(11) NOT NULL
  11. Alguém pode me dar uma ideia de como posso selecionar o menu, e a aplicação exibir as opções pertencentes ao menu selecionado. Resumo: Aparecer no menu lateral somente opção do Menu selecionado (Ver imagem no final). HTML NAVIGATION BAR <nav id="navigation-bar" class="navigation-bar navbar navbar-static-top" role="navigation"> <button id="navbox-trigger" class="navbox-trigger"><i class="fa fa-lg fa-th"></i></button> <div id="" class="bar"> <div id="navbox" class="navbox"> <div class="navbox-tiles"><a href="#" class="tile"> <div class="icon"><i class="fa fa-handshake-o"></i></div><span class="title">Cobrança</span></a><a href="#" class="tile"> <div class="icon"><i class="fa fa-users"></i></div><span class="title">Supervisão</span></a><a href="#" class="tile"> <div class="icon"><i class="fa fa-database"></i></div><span class="title">Back Office</span></a><a href="#" class="tile"> <div class="icon"><i class="fa fa-file-pdf-o"></i></div><span class="title">Relatórios</span></a><a href="#" class="tile"> <div class="icon"><i class="fa fa-tags"></i></div><span class="title">Suporte</span></a><a href="#" class="tile"> <div class="icon"><i class="fa fa-cogs"></i></div><span class="title">Configurações</span></a> </div> </div> </div> </nav> HTML-PHP SIDEBAR BARExemplo de uma opção pertencente ao menu Configurações <li class="header text-uppercase">Configuracao</li> <li class="treeview <?php if($this->uri->segment(2)=='permissao') echo "active"; ?>"> <a href="#"> <i class="fa fa-lock"></i> <span><?php echo 'Configuracao'; ?></span> <i class="fa fa-angle-left pull-right"></i> </a> <ul class="treeview-menu"> <li class="<?php echo menu_ativo('permissao') ?>"> <a href="<?php echo site_url('app/permissao'); ?>"><i class="fa fa-circle-o"></i>Permissão</a> </li> </ul> </li> Lembrando que estou utilizando o codeigniter. Preview
  12. Olá! Em um formulário de usuário, eu carrego informações, como nome de usuário, senha e permissões. Mas agora eu incluí na tabela de `permissoes` uma coluna chamada `grupo`. E incluí no formulário de `usuarios` um campo `grupo`, para que; toda vez que for escolhido a permissão do usuário, o campo grupo carregue o nome do grupo da permissão selecionada. Sei que no MYSQL, a querie utilizada seria: `SELECT `grupo` FROM `permissoes` WHERE `id` = 1` Mas não consegui fazer isto no codeigniter. Na função editar, Recupero os dados do usuário e exibo as informações na view da seguinte forma: Controller Usuário //Obtem dados do usuário $this->data['usuarios'] = $this->Usuarios_model->obter_id($this->uri->segment(4)); //Obtem Permissões Ativas $this->data['permissoes'] = $this->Permissoes_model->obter_ativo('permissoes', 'permissoes.id,permissoes.nome'); //Carrega View $this->template->admin_render('admin/usuarios/editar', $this->data); Model Usuário: //Função obter ID function obter_id($id){ $this->db->select('usuarios.*, permissoes.nome as permissao'); $this->db->select('usuarios.*, permissoes.grupo as grupo'); $this->db->join('permissoes', 'usuarios.permissoes_id = permissoes.id', 'left'); $this->db->where('usuarios.id',$id); $this->db->limit(1); return $this->db->get('usuarios')->row(); } Model Permissões: //Exibir somente permissões ativas function obter_ativo($tabela,$campos){ $this->db->select($campos); $this->db->from($tabela); $this->db->where('situacao',1); $query = $this->db->get(); return $query->result();; } View Usuário: <div class="col-sm-3"> <label for=""><?php echo lang('usuarios_permissao');?></label> <select name="permissoes_id" id="permissoes_id" class="form-control"> <?php foreach ($permissoes as $permissao) { if($permissao->id == $usuarios->permissoes_id){ $selected = 'selected';}else{$selected = '';} echo '<option value="'.$permissao->id.'"'.$selected.'>'.$permissao->nome.'</option>'; } ?> </select> </div> <div class="col-sm-3"> <label for=""><?php echo 'Grupo'?></label> <select name="grupo_id" id="" class="form-control" readonly> <?php foreach ($permissoes as $permissao) { $id = $permissao->id; $permissoes_id = $usuarios->permissoes_id; $grupo_id = $permissao->grupo; if ($grupo_id == 1) { $grupo = 'Adminstrador'; } elseif ($grupo_id == 2) { $grupo = 'Usuário'; } elseif ($grupo_id == 3) { $grupo = 'Suporte'; } elseif ($grupo_id == 4) { $grupo = 'Cliente'; } if($id == $permissoes_id){ $selected = 'selected';}else{$selected = '';} echo '<option value="'.$grupo_id.'"'.$selected.'>'.$grupo.'</option>'; } ?> </select> </div> Tabelas usuário: `id` INT(11) NOT NULL AUTO_INCREMENT, `primeiro_nome` VARCHAR(40) NOT NULL, `ultimo_nome` VARCHAR(40) NOT NULL, `nome_usuario` VARCHAR(40) NOT NULL, `telefone` VARCHAR(20) NULL DEFAULT NULL, `email` VARCHAR(80) NOT NULL, `senha` VARCHAR(45) NOT NULL, `permissoes_id` INT NOT NULL, `grupo` INT NOT NULL, Tabelas Permissoes: `id` INT(11) NOT NULL AUTO_INCREMENT, `nome` VARCHAR(80) NOT NULL, `descricao` VARCHAR(80) NULL DEFAULT NULL, `grupo` INT NOT NULL, `permissoes` TEXT NULL, `situacao` TINYINT(1) NULL,
  13. WagnerFilho

    Posicionar Mensagens Chat Codeigniter

    Olá, Estou a desenvolver um aplicativo de mensagens(chat) e praticamente está concluído e funcionando. Acontece que as mensagens estão todas alinhadas da esquerda para direita, independente do usuário da mensagem. Exemplo: Usuario 1 Mensagem Usuario 2 Mensagem Usuario 1 Mensagem Usuario 2 Mensagem Pretendo alterar isto e posicionar a mensagem do usuario 1 a esquerda e posicionar a mensagem do usuario 2 a direita. (estilo WhastApp). Usuario 1 Mensagem Mensagem Usuario 2 Usuario 1 Mensagem Mensagem Usuario 2 Abaixo está o código de como estou recuperando a mensagem. <?php $this->db->select('tickets_historico.*,usuarios.nome_usuario'); $this->db->join('usuarios','usuarios.id = tickets_historico.usuario_id', 'left'); $this->db->where('ticket_id = 1'); $this->db->order_by('dt_cadastro','desc'); $historico = $this->db->get('tickets_historico')->result_array() ?> Abaixo está o código de como estou exibindo a mensagem. <div class="direct-chat-msg"> <?php //Se houver comentários, imprime os comentários if(count($historico) > 0) { foreach ($historico as $row) {?> <?php $id = $row['usuario_id']; ?> <?php $image_url = base_url() . 'upload/imagens_usuarios' . '/' . $id . "_thumbnail" . '.jpg'; ?> <div class="direct-chat-info clearfix"> <span class="direct-chat-name pull-left"><?=$row['nome_usuario']?></span> <span class="direct-chat-timestamp pull-right"><?= date('d/m/Y h:i A',strtotime($row['dt_cadastro']))?></span> </div> <img class="direct-chat-img" src="<?php echo $image_url; ?>" alt="message user image"> <div class="direct-chat-text"> <?=$row['mensagem'];?> </div><br> <?php } } else //Quando não há nenhum comentário { echo "<p>Atualmente, não há comentários.</p>"; } ?> </div> Resumindo o código acima: if(count($historico) > 0) { foreach ($historico as $row) {?> <p><strong><?=$row['nome_usuario']?></strong> Disse em <?= date('d/m/Y h:i A',strtotime($row['dt_cadastro']))?><br> <?=$row['mensagem'];?></p><hr> <?php } } else //Quando não há nenhum comentário { echo "<p>Atualmente, não há comentários.</p>"; } ?>
  14. WagnerFilho

    Exibir eventos fullcalendar codeigniter

    Olá! Quero recuperar os eventos do banco de dados e exibi-los no calendário. Podem me ajudar a fazer isto? Até o momento, possuo os seguintes códigos: Model: Public function obter_noticias() { $sql = "SELECT * FROM noticias WHERE noticias.id"; return $this->db->query($sql, array($_GET['start'], $_GET['end']))->result(); } controller: Public function obter_noticias() { $result=$this->Noticias_model->obter_noticias(); echo json_encode($result); echo $this->db->last_query(); die(); } No arquivo.js, estou utilizando o seguinte código: var base_url='http://localhost/ci_adminlte/admin'; $(document).ready(function(){ $('#calendar').fullCalendar({ //alert('Teste de carregamento FullCalendar'); header: { left: 'prev,next today', center: 'title', //right: 'month,basicWeek,basicDay' right: 'month,agendaWeek,agendaDay,listWeek,' }, editable: false, navLinks: true, //selectable: true, selectHelper: true, events: base_url+'noticias/obter_noticias' }); }); Abaixo, segue minha tabela: id INT(11) NOT NULL AUTO_INCREMENT, data DATETIME NOT NULL, titulo TEXT NULL DEFAULT NULL, noticia TEXT NULL DEFAULT NULL, usuario_cadastro VARCHAR(40) NOT NULL, usuario_alteracao VARCHAR(40) NOT NULL, dt_cadastro DATETIME NOT NULL, dt_alteracao DATETIME NULL DEFAULT NULL,
  15. WagnerFilho

    enviar valores para o banco de dados

    Olá, Podem me ajudar a enviar os valores dos campos para o banco de dados. Para o visualizador, Estou utilizando o seguinte código: <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> <div class="content-wrapper"> <section class="content-header"> <?php echo $pagetitle; ?> <?php echo $breadcrumb; ?> </section> <section class="content"> <div class="row"> <div class="col-md-12"> <div class="box"> <!-- <div class="box-header with-border"> <h3 class="box-title">Bloco de Notas</h3> </div> --> <div class="box-header with-border"> <form method="get" action="<?= base_url()?>admin/usuarios"> <div class="input-group pull-left"> <h3 class="box-title"><?php echo anchor('admin/notas/adicionar', '<i class="fa fa-plus"></i> '. 'Adicionar Nota', array('class' => 'btn btn-block btn-primary btn-flat')); ?></h3> </div> </form> </div> <div class="box-body"> <form action="<?= base_url()?>admin/notas/salvar" id="" method="post"> <?php include 'notas.php';?> <div class="form-group"> <div class="box-header" style="padding-left: 0px"> <?php echo form_button(array('type' => 'submit', 'class' => 'btn btn-primary btn-flat', 'content' => lang('actions_submit'))); ?> <?php echo form_button(array('type' => 'reset', 'class' => 'btn btn-warning btn-flat', 'content' => lang('actions_reset'))); ?> <?php echo anchor('admin/dashboard', lang('actions_cancel'), array('class' => 'btn btn-default btn-flat')); ?> </div> </div> </form> </div> </div> </div> </div> </section> </div> <?php $classActive = ""; $divMenu = ""; $divPanel = ""; $this->db->order_by('id', 'asc'); $this->db->where('usuario_id', $this->session->userdata('id')); $this->db->where('usuario_nome', $this->session->userdata('usuario_nome')); $nota = $this->db->get('nota')->result_array(); $contador = 0; foreach ($nota as $row) { $classActive .= ($contador == 0) ? "active" : "inactive"; //$divMenu = "<li class=\"" . $classActive . "\"><a href=\"#" . $row['id'] . "\" data-toggle=\"tab\"><i class=\"\"></i>" . $row['titulo'] . "</a></li>"; $divPanel .= " <div class=\"tab-pane " . $classActive . "\" id=\"" . $row['id'] . "\"> <div id=\"sample\" class=\"ruledpaper\"> <div class=\"form-group\" style=\"margin: 0px;\"> <div class=\"col-md-12\" style=\"padding:0px; background-color: #FFFCEE; font-size: 5px;\"> <input type=\"text\" class=\"form-control\" rows=\"14\" name=\"id\" placeholder=\"Título\" value=\"" . $row['id'] . "\"> <input type=\"text\" class=\"form-control\" rows=\"14\" style=\"padding: 5px; border:0px; background-color: #fff6cc; font-size: 18px;\" name=\"titulo\" placeholder=\"Título\" value=\"" . $row['titulo'] . "\"> </div> </div> <hr style=\"margin: 0px;\" /> <div class=\"form-group\"> <div class=\"col-md-12\" style=\"padding:0px;\"> <textarea maxlength=\"60\" class=\"ruledpaper form-control\" rows=\"\" cols=\"\" style=\"padding: 5px; border:0px; min-height: 350px;\" name=\"nota\" value=\"" . $row['nota'] ."\" placeholder=\"Digite o texto...\">" . $row['nota'] . "</textarea> </div> </div> </div> </div>"; $contador++; } ?> <div class="row"> <div class="col-sm-8"> <div class="tab-content" style="width: 70%;"> <?php echo $divPanel; ?> </div> </div> <div class="col-sm-4"> <ul class="nav tabs-vertical"> <?php foreach ($nota as $row){?> <li class=""> <a href="#<?php echo $row['id'];?>" data-toggle="tab"> <i class=""></i> <?php echo $row['titulo'];?> </a> </li> <?php }?> </ul> </div> </div> <style> .ruledpaper { line-height: 2em; background: #ffffee -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(0.96, rgba(0, 0, 0, 0)), color-stop(0.98, rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); background-size: auto 2em; overflow: hidden; padding: 0em; border: solid 0.5em #ffffee; -webkit-box-shadow: 0.2em 0.2em 0.2em silver; } #sample { width: 57em; height: 25em; font-size: 15px; } </style> Controlador:[/size] $id = $this->input->post('id'); $data['titulo'] = $this->input->post('titulo'); $data['nota'] = $this->input->post('nota'); $data['usuario_nome'] = $this->session->userdata('nome_usuario'); $data['usuario_id'] = $this->session->userdata('id'); $data['dt_alteracao'] = strtotime(date("d-m-Y H:i:s")); $this->db->where('id',$id); if($this->db->update('nota', $data)) Porém, está sendo enviado para o banco de dados, sempre o ultimo ID:[/size] UPDATE `nota` SET `id` = '4', `titulo` = 'NOTA 4', `nota` = 'TEXTO NOTA 4', `usuario_nome` = 'Wagner Fillio', `usuario_id` = '1', `dt_alteracao` = 1482159904 WHERE `id` = '4' Sendo que quero enviar somente o ID selecionado. [/size][/size]
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.