violin101
Members-
Total de itens
197 -
Registro em
-
Última visita
Tudo que violin101 postou
-
Obrigado amigo Entendi
-
Caro amigo, saudações... Baseado nessa informação então não vale apena utilizar na Senha o PASSWORD_HASH para criptografar ?
-
Olá amigo, saudações... Tente desta forma: <label for="sexo" class="control-label">Sexo<span class="required">*</span></label> <div class="controls"> <select name="sexo" id="sexo" style="width:100%;" class="form-control"> <?php if ($result->sexo == 1) { $feminino = 'selected'; $masculino = ''; } else { $feminino = ''; $masculino = 'selected'; } ?> <option value="1" <?php echo $feminino; ?>>Feminino</option> <option value="2" <?php echo $masculino; ?>>Masculino</option> </select> </div> Espero ter ajudado.
-
Codeigniter - Como enviar múltiplos e-mails com PHPmailer
violin101 respondeu ao tópico de violin101 em PHP
Caros amigos, saudações... Depois de muita pesquisa e orientação no grupo, consegui realizar o envio de múltiplos e-mails. O problema agora é que quando envio os e-mails, todos os envio aparece desta forma para os Clientes e/ou Fornecedores. email_1@teste.com,email_2@teste.com,email_3@teste.com,email_4@teste.com,email_5@teste.com Desta forma acima, quando o Cliente abre seu e-mail visualiza todos os outros demais que receberam também. Como consigo fazer para que cada envio mostra somente o e-mail exclusivo de cada cliente ? Abaixo posto meu código: <?php //Função para Disparar Mensagem function disparaMensagem() { $idCts = $this->input->post('idCts'); $idCta = str_pad($idCts, '5', '0', STR_PAD_LEFT); $idCli = $this->input->post('idCli'); $idCtg = $this->input->post('idCtg'); //ID categoria $razSoc = $this->input->post('razSoc'); //Razão Social $dtaEnv = $this->input->post('dtaEnv'); //Data envio $dtaEnv = $this->input->post('dtaEnv'); //Hora envio $cta = $idCli . '.' . $idCta; $data = date(('d/m/Y'), strtotime($dtaEnv)); $hora = date(('H:i'), strtotime($dtaEnv)); //Chama a library - Email $this->load->library('email'); // adquiri os E-mails para Enviar $recbmail = $this->envio_model->fetch_data($idCts,$idCtg); //Recebe os E-mails os Fornecedores $end_mail = null; foreach ($recbmail->result_array() as $key => $value){ //Separa os e-mails por vírgula $end_mail[] = implode(',', $value); } $comunicStatus = 2; $retorno = $this->envio_model->editDispara($idCts, $comunictatus); if ($retorno) { //Laço para enviar os e-mails recebido do MySql //----> aqui faço um FOR para enviar os e-mails para cada Cliente for ($i=0; $i < $end_mail; $i++) { error_reporting(E_ALL); ini_set("display_Errors", 1); //Corpo do E-mail $this->email->from('meu-email@hotmail.com'); $this->email->to($end_mail); $this->email->subject('Comunicado'); $this->email->message('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-language" content="pt-br" /> <title>Teste de E-mail</title> </head> <body style="font-size:14px;"> <br/> <b>Prezado Senhor Fornecedor</b><br/><br/> <label style="font-size:14px; color:#0E0E8F;"> <b>Comunicado</b> </label> <br/><br/> Empresa: <b>'.$razSoc.'</b><br/> Comunica que estaremos fazendo saldão de estoque, aproveite.</b><br/> Data para Encerrar: <b>'.$data.'</b> às <b>'.$hora.'.</b> <br/><br/> <b>Por favor, não responder este e-mail</b>. </body> </html>'); if($this->email->send()){ $this->session->set_flashdata('success', '<h4>Comunicado - Disparado com Sucesso para o(s) Fornecedor(es).</h4>'); redirect(base_url() . 'comunic/comunicado/editar/' . $this->input->post('idCts')); } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao tentar enviar Aviso de Comunicado!'); redirect(base_url() . 'comunic/comunicado/editar/' . $this->input->post('idCts')); }//Fim do IF-send }//Fim do FOR } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao tentar disparar a Comunicado. Por favor, informe ao Administrador do Sistema.'); redirect(base_url() . 'comunic/comunicado/editar/' . $this->input->post('idCts')); } } ?> Grato, Cesar -
Caro Paulo, saudações... Tenta essa configuração, abaixo: <?php defined('BASEPATH') OR exit('No direct script access allowed.'); $config['useragent'] = 'PHPMailer'; // Mail engine switcher: 'CodeIgniter' or 'PHPMailer' $config['protocol'] = 'smtp'; // 'mail', 'sendmail', or 'smtp' $config['mailpath'] = '/usr/sbin/sendmail'; $config['smtp_host'] = 'smtp-mail.outlook.com'; $config['_smtp_auth'] = TRUE; // Whether to use SMTP authentication, boolean TRUE/FALSE. If this option is omited or if it is NULL, then SMTP authentication is used when both $config['smtp_user'] and $config['smtp_pass'] are non-empty strings. $config['smtp_user'] = 'seu_email@hotmail.com'; // Informe um e-mail válido para enviar e-mail $config['smtp_pass'] = 'sua_senha'; // Informe uma senha válida do seu e-mail informado acima $config['smtp_port'] = 587; $config['smtp_timeout'] = 30; // (in seconds) $config['smtp_crypto'] = 'tls'; // '' or 'tls' or 'ssl' $config['smtp_debug'] = 0; // PHPMailer's SMTP debug info level: 0 = off, 1 = commands, 2 = commands and data, 3 = as 2 plus connection status, 4 = low level data output. $config['debug_output'] = ''; // PHPMailer's SMTP debug output: 'html', 'echo', 'error_log' or user defined function with parameter $str and $level. NULL or '' means 'echo' on CLI, 'html' otherwise. $config['smtp_auto_tls'] = false; // Whether to enable TLS encryption automatically if a server supports it, even if `smtp_crypto` is not set to 'tls'. $config['smtp_conn_options'] = array(); // SMTP connection options, an array passed to the function stream_context_create() when connecting via SMTP. $config['wordwrap'] = true; $config['wrapchars'] = 76; $config['mailtype'] = 'html'; // 'text' or 'html' $config['charset'] = null; // 'UTF-8', 'ISO-8859-15', ...; NULL (preferable) means config_item('charset'), i.e. the character set of the site. $config['validate'] = true; $config['priority'] = 3; // 1, 2, 3, 4, 5; on PHPMailer useragent NULL is a possible option, it means that X-priority header is not set at all, see https://github.com/PHPMailer/PHPMailer/issues/449 $config['crlf'] = "\n"; // "\r\n" or "\n" or "\r" $config['newline'] = "\n"; // "\r\n" or "\n" or "\r" $config['bcc_batch_mode'] = false; $config['bcc_batch_size'] = 200; $config['encoding'] = '8bit'; // The body encoding. For CodeIgniter: '8bit' or '7bit'. For PHPMailer: '8bit', '7bit', 'binary', 'base64', or 'quoted-printable'. Espero ter ajudado. Atenciosamente, Cesar
-
Codeigniter - Como enviar múltiplos e-mails com PHPmailer
violin101 respondeu ao tópico de violin101 em PHP
Caros amigos Li várias vezes o exemplos mencionado mas infelizmente não consegui entender. Abaixo posto meu código que utilizo para enviar RESPOSTA de E-MAIL ===> individual. <?php class Contats extends CI_Controller{ function __construct() { parent::__construct(); if ((!session_id()) || (!$this->session->userdata('logado'))) { redirect('admin/login'); } $this->load->helper(array('form', 'codegen_helper')); $this->load->model('admin/contats_model', '', true); $this->load->model('admin/controle_model'); $this->data['usuario'] = $this->controle_model->getById($this->session->userdata('id')); $this->data['dados'] = $this->controle_model->getEmitente(); $this->data['clients'] = $this->controle_model->getClientes($this->session->userdata('id')); } function index() { $this->gerenciar(); } function gerenciar($id = null) { $this->data['results'] = $this->contats_model->get('contatos', 'idcontatos,nomecontato,emailcontato,asscontato,menscontato,respcontato,datarecebe,horarecebe,dataresposta,horaresposta,iduser', '', $id); $this->load->view('admin/estilo/header', $this->data); $this->load->view('admin/contats/contats'); } //Função para responder Contato por e-mail function responder($id = null) { if ($this->input->post()) { //Recebe variáveis via POST $email = $this->input->post('mailCont'); $retorno = $this->input->post('retorno'); $dadoscont = $this->contats_model->buscaemail($email, $id); if ((isset($dadoscont)) && (!empty($dadoscont))) { $status = ''; foreach ($dadoscont as $user) { $nome = $user->nomecontato; $asunt = $user->asscontato; $mensag = $user->menscontato; $status = $user->respcontato; $dtarec = date(('d/m/Y'), strtotime($user->datarecebe)); $hrsrec = date(('H:i:s'), strtotime($user->horarecebe)); } if ($status != 2 ) { error_reporting(E_ALL); ini_set("display_Errors", 1); $this->load->library('email'); $this->email->from('meuEmail@hotmail.com'); //o mesmo e-mail que estiver no config/email.php $this->email->to($email); $this->email->subject('Retorno: '.$asunt.''); $this->email->message('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-language" content="pt-br" /> <title>Teste de E-mail</title> </head> <body> <br/>'.$retorno.'<br/> <hr/><br/> De: '.$nome.'<br/> Enviado: '.$dtarec.' - '.$hrsrec.'<br/> E-mail: '.$email.'<br/> Assunto: '.$asunt.'<br/> <br/>'.$mensag.'<br/> </body> </html>'); if($this->email->send()){ $this->session->set_flashdata('success', 'Contato Respondido com sucesso!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao tentar Responder o Contato!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } } else { $this->session->set_flashdata('error', 'Não foi possível enviar o e-mail!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } } else { $this->session->set_flashdata('error', 'Este E-mail não existe!'); redirect(base_url() . 'admin/contats/responder/'.$this->input->post('idcontatos')); } } else { $this->data['result'] = $this->contats_model->getById($id); $this->load->view('admin/estilo/header', $this->data); $this->load->view('admin/contats/respondeContats'); } } } O código acima envia resposta individual para cada contato que é uma Beleza. Tentei de várias formas fazer o envio MÚLTIPLO mas não tive sucesso. Por favor, alguém teria algum exemplo nesse assunto. Os tema de leitura que os amigos me indicou não consegui entender. Grato, Cesar -
Caros amigos. Consegui resolver. fiz algumas alterações: <?php // dados para o novo nome do arquivo $codigoCaptcha = substr(md5(time()) ,0, 10); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF', // formato permitido para anexo 'max_size' => 1024, 'file_name' => 'dcto('.$codClie.')-'.$codigoCaptcha, ); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } //reinicia a biblioteca $this->upload->initialize($upload_conf); } ?>
-
Caros amigos membros do grupo, saudações... Gostaria de tirar uma dúvida com os amigos. Tenho uma rotina onde consigo efetuar o Download de arquivos para uma pasta dentro do sistema, o que preciso seria mudar o nome do arquivo, por exemplo: após selecionar o arquivo criado com o nome de: ESTOQUE.PDF gostaria de gravar na pasta de upload's com um novo nome, como por exemplo: cliente[1]-estoque.pdf. Onde poderia fazer essa alteração na rotina abaixo, para gravar o arquivo com um novo nome ? abaixo posto o fonte da rotina. <?php public function anexar() { $this->load->library('upload'); $this->load->library('image_lib'); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF|doc|DOC|docx|DOCX', // formatos permitidos para anexos de os 'max_size' => 1024, ); //Recebe a variável via POST $validade = $this->input->post('validade'); $this->upload->initialize($upload_conf); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } } unset($_FILES['userfile']); $error = array(); $success = array(); foreach ($_FILES as $field_name => $file) { if (! $this->upload->do_upload($field_name)) { $error['upload'][] = $this->upload->display_errors(); } else { $upload_data = $this->upload->data(); if ($upload_data['is_image'] == 1) { // set the resize config $resize_conf = array( 'source_image' => $upload_data['full_path'], 'new_image' => $upload_data['file_path'].'thumbs/thumb_'.$upload_data['file_name'], 'width' => 200, 'height' => 125 ); $this->image_lib->initialize($resize_conf); if (! $this->image_lib->resize()) { $error['resize'][] = $this->image_lib->display_errors(); } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', 'thumb_'.$upload_data['file_name'], realpath('./assets/anexos/')); } } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', '', realpath('./assets/anexos/')); } } } if (count($error) > 0) { echo json_encode(array('result'=> false, 'mensagem' => 'Nenhum arquivo foi anexado.')); } else { echo json_encode(array('result'=> true, 'mensagem' => 'Arquivo(s) anexado(s) com sucesso .')); } } ?> Grato, Cesar
-
Olá, saudações... Não sei se é o seu caso, mas tente assim: $valor = floatval(str_replace(",",".",$precoProduto)); $subTotal = $qtdeItem * $valor; <?php echo 'R$ '.number_format($subTotal,2,",","."); ?>
-
Caros amigos, membro do grupo. saudações... Primeiramente peço desculpa se estou postando minha dúvida na opção errada. Estou com uma dúvida e não estou conseguindo solucioná-la, fiz várias pesquisas mas não encontrei o que procuro. Tenho um Relatório em MPDF que imprime todos os registro juntos. <=== até aqui tudo bem. Gostaria de ter a opção de imprimir 1(um) registro por página. Alguém saberia me informar como faço isso ? Grato, Cesar
-
Olá amigo Alaerte Gabriel saudações... Minha dúvida: onde devo colocar a função para fazer o SALTO de PÁGINA ? o meu controller para gerar o relatório está assim: <?php public function categoriasRapid() { $data['title'] = 'Relatório de Categorias'; $data['dados'] = $this->controle_model->getEmitente(); $data['topo'] = $this->load->view('admin/relatorios/imprimir/imprimirTopo', $data, true); $ordenar = $this->input->post('ordenar'); $data['categ'] = $this->Relatorios_model->categoriasRapid($ordenar); $html = $this->load->view('admin/relatorios/imprimir/printCategoriaRapid', $data, true); // carrega a library $this->load->library('mpdf'); // define o $mdpf $mpdf = $this->mpdf->method; // define o display mode $mpdf->SetDisplayMode('fullpage'); // carrega o css $stylesheet = file_get_contents(base_url().'templates/bower_components/bootstrap/dist/css/bootstrap.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/font-awesome/css/font-awesome.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/Ionicons/css/ionicons.min.css'); $stylesheet = file_get_contents(base_url().'templates/dist/css/skins/_all-skins.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/morris.js/morris.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/jvectormap/jquery-jvectormap.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css'); $stylesheet = file_get_contents(base_url().'templates/bower_components/bootstrap-daterangepicker/daterangepicker.css'); $stylesheet = file_get_contents(base_url().'templates/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css'); $stylesheet = file_get_contents(base_url().'templates/dist/css/AdminLTE.css'); // O parâmetro 1, diz que o conteúdo é um stylesheet $mpdf->WriteHTML($stylesheet, 1); // imprimir no formato paisagem $mpdf->AddPage('L'); $mpdf->WriteHTML($html); $mpdf->Output('Cotação Responder.pdf',"I"); } ?> Agradeço sua ajuda. Cesar
-
Amigo tente assim: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>Enviar e-mail com anexo</title> </head> <body> <!--Linha abaixo modificada - FORM--> <form id="form1" name="form1" method="POST" action="" enctype="multipart/form-data"> <table width="500" border="0" align="center" cellpadding="0" cellspacing="2"> <tr> <td align="right">Nome:</td> <td><input type="text" name="nome" id="nome" /></td> </tr> <tr> <td align="right">Assunto:</td> <td><input type="text" name="assunto" id="assunto" /></td> </tr> <tr> <td align="right">Mensagem:</td> <td><textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea></td> </tr> <tr> <td align="right">Anexo:</td> <td><input type="file" id="arquivo" name="arquivo" /></td> </tr> <tr> <td colspan="2" align="center"> <!--Linha abaixo modificada - BUTTON--> <button type="submit" name="execut" id="execut" class="btn btn-primary" value="Enviar" >Enviar</button> </td> </tr> </table> </form> <?php //Linha abaixo modificada if(isset($_POST['execut']) && $_POST['execut'] == 'Enviar'){ $nome = $_POST['nome']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; $arquivo = $_FILES["arquivo"]; $corpoMSG = "<strong>Nome:</strong> $nome<br> <strong>Mensagem:</strong> $mensagem"; // chamada da classe require_once('class.phpmailer.php'); // instanciando a classe $mail = new PHPMailer(); // email do remetente $mail->SetFrom('remetente@dominio.com.br', 'remetente'); // email do destinatario $address = "destinatario@dominio.com.br"; $mail->AddAddress($address, "destinatario"); // assunto da mensagem $mail->Subject = $assunto; // corpo da mensagem $mail->MsgHTML($corpoMSG); // anexar arquivo $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name'] ); if(!$mail->Send()) { echo "Erro: " . $mail->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } ?> </body> </html>
-
Olá amigo, saudações... Troque essa linha: if($_GET['acao'] == 'enviar'){ por essa linha......: if($_POST['acao'] == 'enviar'){ acho que vai dar certo
-
Olá amigo, dê uma olhadinha nesse manual do PHP https://www.php.net/manual/pt_BR/function.implode.php Acho que vai te ajudar.
-
Caros amigos Me desculpa em recorrer a ajuda do grupo, mas estou enfrentando um problema que não estou conseguindo entender. Estou montando um relatório usando mPDF versão 6.1 com o PHP versão 7.2.5 Infelizmente estou com problema de: MESSAGE: ILLEGAL STRING OFFSET 'ID'. Como consigo resolver esse problema usando a versão do PHP 7.2.5 ? Grato, Cesar
-
Problema com acentos. Dois charset na mesma página?
violin101 respondeu ao tópico de mm_edilson em PHP
Olá Edison Já tentou assim: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Seu_Titulo</title> </head> <body> ... </body> </html> -
Problema com acentos. Dois charset na mesma página?
violin101 respondeu ao tópico de mm_edilson em PHP
Olá Edilson Tenta Criar seus form's desta forma: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="content-language" content="pt-br" /> <title>SeuTitulo</title> </head> <body> ... </body> </html> -
Caro amigo, tudo bem ? tente colocar desta forma '<br/>'
-
Caro amigo Paulo saudações... Você pode criar uma máscara usando um JAVASCRIPT, conforme abaixo: <script language=javascript> //Função para Máscar de Telefone function fone(obj,prox) { switch (obj.value.length){ case 1: obj.value = "(" + obj.value; break; case 3: obj.value = obj.value + ")"; break; case 8: obj.value = obj.value + "-"; break; case 13: prox.focus(); break; } } //Função para Máscara de Celular function cel(obj,prox) { switch (obj.value.length){ case 1: obj.value = "(" + obj.value; break; case 3: obj.value = obj.value + ")"; break; case 5: obj.value = obj.value + "."; break; case 10: obj.value = obj.value + "-"; break; case 15: prox.focus(); break; } } //Função para Aceitar apenas números function Apenas_Numeros(caracter){ var nTecla = 0; if (document.all) { nTecla = caracter.keyCode; } else { nTecla = caracter.which; } if ((nTecla> 47 && nTecla <58) || nTecla == 8 || nTecla == 127 || nTecla == 0 || nTecla == 9 // 0 == Tab || nTecla == 13) { // 13 == Enter return true; } else { return false; } } </script> Espero ter ajudado. Cesar
-
Caros amigos, saudações... Desculpa em recorrer ao auxílio dos amigos, mas estou com uma dúvida. Estou montando um Relatório .PDF usando FPDF e surgiu uma necessidade de imprimir Vários Registro por página. Por exemplo: o relatório trouxe do MySql 5 registro de clientes. Gostaria de imprimir cada registro por página. Alguém saberia de dizer como faço isso ? Obrigado, Cesar
-
Caros amigos saudações... Por favor alguém tem conhecimento de algum site onde posso ler para Configurar o MPDF para gerar relatório em PDF ? Já fiz várias pesquisas e não tive sucesso. Observação: preciso criar uma TABELA com suas formatações. Estou usando FPDF infelizmente estou tendo muito problema para usar o MultCell na Tabela. Obrigado Cesar
-
Codeigniter - Problema em Gerar o Relatório em FPDF
violin101 respondeu ao tópico de violin101 em PHP
Amigos, Por favor, alguém saberia me ajudar ? Grato -
Caros amigos, saudações... Estou com o seguinte problema para Gerar um Relatório. O problema é o seguinte: --> quando o Sistema gera o Relatório traz todas as informações corretas, com exceção dos itens que Cada Cliente comprou, por exemplo: o Cliente Fulano comprou 3 itens..: caderno / lápis / caneta o Cliente Beltrano comprou 4 itens: borracha / régua / caneta / caderno o Cliente Ciclano comprou 2 itens.: apontador / caixa de lápis de cor Quando o Sistema gera o Relatório, traz todas as Informações de Cada Cliente com os seus dados corretamente, mas quando deve mostrar os ITENS que cada Cliente comprou, traz as informações tudo errada. O que o sistema mostra são os ITENS que o Cliente cadastrou em seu sistema para venda e não o que os Clientes compraram. Observação: a Controller e a Model estão corretas com todos os SQL / INNER JOIN. Abaixo posto o código que gero o Relatório. <?php if(!defined('BASEPATH')) exit('No direct script access allowed'); //Função para limitar o tamanho de caracteres function limitar($string, $tamanho, $encode = 'UTF-8') { $string = mb_substr($string, 0, $tamanho, $encode); return $string; } class PDF extends FPDF{ // Page header function Header(){ $corLin = $this->SetFillColor(144, 144, 144); $this->Image('assets/img/img_logo.png',5,5,15); $this->SetFont('Arial', '', 9); $this->SetTextColor(35,35,35); $this->Cell(285, 5, date('d/m/Y').' - '.date('H:i:s'), 0,0,'R'); $this->Ln(); $this->SetFont('Arial','B',18); $this->SetTextColor(10,10,88); $this->Cell(270,5,utf8_decode('VENDAS'),0,0,'C'); $this->Ln(7); $this->Cell(80,5,'',0,0); $this->SetFont('Arial','',12); $this->SetTextColor(35,35,35); $this->Cell(10,5,utf8_decode('por:'),0,0,'L'); $this->SetFont('Arial','B',12); $this->Cell(30,5, utf8_decode('Todas'),0,0,'L'); $this->Ln(10); $this->Cell(1,0,'',0,0); $this->Cell(280,1,$corLin,0,0,'',1); //Muda a cor da linha $this->Ln(); } function titulo($vdas){ if(!$vdas){ $this->Ln(15); $this->SetFont('Arial','B',18); $this->SetTextColor(0,0,0); $this->Cell(21,5,'',0,0); $this->Cell(21,5,utf8_decode('Atenção:'),0,0,'L'); $this->Ln(12); $this->SetFont('Arial','B',16); $this->SetTextColor(201,7,7); $this->Cell(21,5,'',0,0); $this->Cell(21,5,utf8_decode('Nenhum Registro foi encontrado na Base de Dados.'),0,0,'L'); $this->SetTextColor(0,0,0); $this->Ln(9); } else { $corLin = $this->SetFillColor(33, 160, 33); foreach($vdas as $ct){ $this->Ln(2); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',10); $this->Cell(23,10,utf8_decode('Razão Social:'),0,0,'L'); $this->SetFont('Arial','B',10); $this->Cell(200,10, utf8_decode($ct->nomeCliente),0,0,'L'); $this->Ln(7); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',10); $this->Cell(30,10,utf8_decode('Título da Cotação:'),0,0,'L'); $this->SetFont('Arial','B',10); $this->Cell(200,10, utf8_decode($ct->vendaTitulo),0,0,'L'); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',10); $this->Cell(21,10,utf8_decode('Cotação nº.:'),0,0,'L'); $this->SetFont('Arial','B',10); $this->Cell(25,10,$ct->vendaNumber,0,0,'L'); $this->SetTextColor(0,0,0); if($ct->vendaObservacao != "") { $this->Ln(-3); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',10); $this->Cell(33,10,utf8_decode('Observação:'),0,0,'L'); $this->SetFont('Arial','B',10); $this->Ln(2.5); //Defina altura da Célula $this->SetX(33); //Fixa a posição INÍCIO do texto $this->MultiCell(252,5,utf8_decode($ct->vendaObservacao),0,'J', 0); $this->Ln(1); } $this->Ln(3); $this->Cell(1,5,'',0,0); $corLin = $this->SetFillColor(33, 160, 33); $this->Cell(280,1,$corLin,0,0,'',1); //Muda a cor da linha $this->Ln(3); }//Fim Foreach }//Fim do 1º.IF } function conteudo($clients,$itens){ if(!$clients){ $this->Ln(15); $this->SetFont('Arial','B',18); $this->SetTextColor(0,0,0); $this->Cell(21,5,'',0,0); $this->Cell(21,5,utf8_decode('Atenção:'),0,0,'L'); $this->Ln(12); $this->SetFont('Arial','B',16); $this->SetTextColor(201,7,7); $this->Cell(21,5,'',0,0); $this->Cell(21,5,utf8_decode('Nenhum Registro foi encontrado na Base de Dados.'),0,0,'L'); $this->SetTextColor(0,0,0); $this->Ln(9); } else { foreach($clients as $fr){ //Verifica se o campo COMPLEMENTO existe dados informados if($fr->complCl == ""){ $compl = ''; } else { $compl = ' - '.$fr->complCl; } $this->Ln(2); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',9); $this->Cell(20,10,utf8_decode('Código:'),0,0,'L'); $this->Cell(180,10,utf8_decode('Razão Social:'),0,0,'L'); $this->Cell(45,10,utf8_decode('CNPJ:'),0,0,'L'); $this->Cell(34,10,utf8_decode('Inscrição Estadual:'),0,0,'L'); $this->Ln(3.5); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','B',9); $this->Cell(20,10,str_pad($fr->idClientes,'5','0', STR_PAD_LEFT),0,0,'L'); $this->Cell(180,10,utf8_decode($fr->nomeCliente),0,0,'L'); $this->Cell(45,10,utf8_decode($fr->cnpj),0,0,'L'); $this->Cell(34,10,utf8_decode($fr->inscrEst),0,0,'L'); $this->Ln(4); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',9); $this->Cell(130,10,utf8_decode('Endereço:'),0,0,'L'); $this->Cell(70,10,utf8_decode('Bairro:'),0,0,'L'); $this->Cell(54,10,utf8_decode('Cidade/UF:'),0,0,'L'); $this->Cell(30,10,utf8_decode('CEP:'),0,0,'L'); $this->Ln(3.5); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','B',9); $this->Cell(130,10,utf8_decode($fr->enderecoCl).', n.'.$fr->numeroCl.utf8_decode($compl),0,0,'L'); $this->Cell(70,10,utf8_decode($fr->bairroCl),0,0,'L'); $this->Cell(54,10,utf8_decode($fr->cidadeCl.' / '.$fr->estadoCl),0,0,'L'); $this->Cell(30,10,$fr->cepCl,0,0,'L'); $this->Ln(4); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',9); $this->Cell(25,10,utf8_decode('Telefone:'),0,0,'L'); $this->Cell(105,10,utf8_decode('E-mail:'),0,0,'L'); $this->Cell(30,10,utf8_decode('Prazo de Entrega:'),0,0,'L'); $this->Cell(118,10,utf8_decode('Condição de Pagamento'),0,0,'L'); $this->Ln(3.5); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','B',9); $this->Cell(25,10,$fr->telefoneCl,0,0,'L'); $this->Cell(105,10,utf8_decode($fr->emailCl),0,0,'L'); $this->Cell(30,10,utf8_decode($fr->przEntr).' - dia(s)',0,0,'L'); $this->Cell(118,10,$fr->descricao.' - dias',0,0,'L'); if($fr->obsFatur != NULL || $fr->refVenda != NULL) { $this->Ln(5); $this->Cell(2,5,'',0,0); $this->SetFont('Arial','',9); $this->Cell(280,10,utf8_decode('Observação:'),0,0,'L'); $this->SetFont('Arial','B',9); $this->Ln(2.5); //Defina altura da Célula $this->SetX(33); //Fixa a posição INÍCIO do texto $this->MultiCell(252,5,utf8_decode($fr->obsFatur).' '.utf8_decode($fr->refVenda),0,'J', 0); $this->Ln(2); } else { $this->Ln(); } //Monta a Tabela $this->Ln(1); $this->SetFillColor(107, 181, 148); $this->SetDrawColor(160,160,160); //Muda a Cor das Bordas $this->SetFont('Arial','B',9); $this->Cell(5,5,utf8_decode('#'),0,0,'C',1); $this->Cell(15,5,utf8_decode('Código'),0,0,'C',1); $this->Cell(95,5,utf8_decode('Descrição'),0,0,'C',1); $this->Cell(45,5,'Marca',0,0,'C',1); $this->Cell(17,5,'ESP',0,0,'C',1); $this->Cell(25,5,'Qtde',0,0,'C',1); $this->Cell(35,5,'Vr. Unit.',0,0,'C',1); $this->Cell(40,5,'Vr. Total',0,0,'C',1); $this->Ln(); /* * O erro acontece apartir dessas Linhas de Comando */ $soma = 0; foreach($itens->result() as $ds){ $total = $ds->respQtde * $ds->respVlrunit; $soma += $total; $this->SetFont('Arial','',8); $this->Cell(5,6,$ds->clientes_idClientes,1,0,'C'); $this->Cell(15,6,$ds->codProduto,1,0,'C'); $this->Cell(95,6,limitar(utf8_decode($ds->prdDesc),50),1,0,'L'); $this->Cell(45,6,limitar(utf8_decode($ds->respMarca),25),1,0,'L'); $this->Cell(17,6,$ds->respEspecie,1,0,'C'); $this->Cell(25,6,$ds->respQtde,1,0,'C'); $this->Cell(35,6,number_format($ds->respVlrunit, 2, ",", "."),1,0,'R'); $this->Cell(40,6,number_format($total, 2, ",", "."),1,0,'R'); $this->Ln(); } //Total dos Itens que cada Fornecedor Ganhou $this->Ln(1); $this->SetFillColor(217, 213, 213); $this->SetTextColor(0,0,0); $this->SetFont('Arial','B',9); $this->Cell(237,6,'Total: ',1,0,'R',1); $this->SetFont('Arial','B',9); $this->Cell(40,6, number_format($soma, 2, ",", "."),1,0,'R',1); $this->Ln(5); }//Fim do Foreach-forn }//Fim do 1.IF } // Page footer function Footer(){ $this->SetY(-15); $this->SetFont('Arial','',9); $this->Cell(0,10,utf8_decode('WEB sistemas'),0,0,'L'); $this->SetFont('Arial','B',10); $this->Cell(0,10,$this->PageNo(),0,0,'R'); } } // Instanciation of inherited class $pdf = new PDF(); $pdf->AliasNbPages(); $pdf->SetTitle(utf8_decode('Vendas')); $pdf->AddPage('L','A4',0); $pdf->SetFont('Times','',12); $pdf->titulo($vdas); $pdf->conteudo($clients,$itens); $pdf->Output('Vendas_encerrada.'.'pdf',"I"); ?> Tentei adicionar essa linhas de Comando, mas infelizmente o Sistema acusa erro nesse comando $this->db->query principalmente em ->db. Não entendi o porque desse erro. <?php $query = $this->db->query("SELECT ct.idVendas, ct.clientes_idClientes, ct.respEspecie, ct.respMarca, ct.respAnalise, ct.respQtde, ct.respIdvda, ct.respProduto, pr.idProdutos, pr.codPrdClie, pr.prdDescr, pr.clientes_idClientes FROM vendas ct INNER JOIN produtos pr ON pr.codPrdClie = ct.respProduto WHERE ct.clientes_idClientes = '$clie' AND ct.respIdvda = '$cotnum' AND ct.respAnalise = '1' ORDER BY ct.respProduto "); foreach ($query->result() as $row){ $idrp = $row->idVendas; $codg = $row->codPrdClie; $desc = $row->prdDescr; $espc = $row->respEspecie; $qtde = $row->respQtde; $marc = $row->respMarca; } ?> Agradeço a todos. Atenciosamente, Cesar
-
Olá, saudações... Você pode fazer assim <script> function HabilDesab(){ if(document.getElementById('btnhab').checked == true){ document.getElementById('enviar').disabled = "" } if(document.getElementById('btnhab').checked == false){ document.getElementById('enviar').disabled = "disabled" } } </script> <form name="form1"> <input type="checkbox" name="btnhab" id="btnhab" onClick="HabilDesab()"> <input type="button" name="enviar" id="enviar" value="Enviar" disabled> </form> Espero ter ajudado Cesar
-
Olá amigo, saudações... Para adicionar você pode fazer assim: <div class="col-lg-4"> <label for="unidadesId" class="control-label">Unidade de Medida<span class="required">*</span></label> <select name="unidadesId" id="unidadesId" style="width:100%;" class="form-control"> <option value="">Selecione uma opção</option> <?php foreach ($unidades as $un) { echo '<option value="'.$un->apresUni.'">'.$un->unidade.'</option>'; } ?> </select> </div> Quando for alterar pode fazer assim: <div class="col-lg-4"> <label for="unidadesId" class="control-label">Unidade de Medida<span class="required">*</span></label> <select name="unidadesId" id="unidadesId" style="width:100%;" class="form-control"> <?php foreach ($unidades as $un) { if ($result->prdUnid == $un->apresUni) { $selected = 'selected'; } else { $selected = ''; } echo '<option value="'.$un->apresUni.'"'.$selected.'>'.$un->unidade.'</option>'; } ?> </select> </div> Espero ter ajudado. Cesar