Ir para conteúdo
Fórum Script Brasil

Geraldo Kuster

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Geraldo Kuster postou

  1. Ola Srs, Estou aprendendo PHP e SQL ainda e tentando trabalhar com ambos, tenho um sisteminha que faz uma busca de pacientes e usa essa busca para imprimir as etiquetas. Tudo funcionando desde que eu não faça a busca ele imprime normalmente, se eu colocar qualquer nome na busca ele coloca no codigo os dois %% da query e da erro 400. A busca arquivo pesquisa_ajax.php <?php $_GET['pesquisa'] = utf8_decode ( htmlspecialchars( utf8_encode($_GET['pesquisa']) , ENT_QUOTES | ENT_COMPAT, 'utf-8') ); $pacientes = new TPacientes(); if($_GET[campo] == 'nascimento') { if ( strlen ( $_GET['pesquisa'] ) <= 2 ) { $where .= "MONTH(nascimento) = '".$_GET['pesquisa']."'"; } else { $pesq = explode ( '_' , $_GET['pesquisa'] ); foreach ( $pesq as $k => $v ) { $v = explode ( '-' , $v ); $v[1] = str_pad($v[1], 2, '0', STR_PAD_LEFT); $pesq[$k] = implode ( '-' , $v ); } $where = "RIGHT(nascimento, 5) = '".$pesq[0]."'"; if ( count ( $pesq ) > 1 ) { $where = "DATE_FORMAT(nascimento, '%m-%d') BETWEEN '".$pesq[0]."' AND '".$pesq[1]."'"; } } } elseif($_GET[campo] == 'nome') { $where = "nome LIKE '%".$_GET[pesquisa]."%'"; } elseif($_GET[campo] == 'telefone') { $where = "telefone1 = '".$_GET[pesquisa]."' OR telefone2 = '".$_GET[pesquisa]."' OR celular = '".$_GET[pesquisa]."'"; } elseif($_GET[campo] == 'matricula') { $where = "codigo = '".$_GET[pesquisa]."'"; } elseif($_GET[campo] == 'cidade') { $where = "cidade LIKE '".$_GET[pesquisa]."%'"; } elseif($_GET[campo] == 'cep') { $where = "cep LIKE '".$_GET[pesquisa]."%'"; } elseif($_GET[campo] == 'profissao') { $where = "profissao LIKE '%".$_GET[pesquisa]."%'"; } elseif($_GET[campo] == 'area') { $where = "tratamento LIKE '%".$_GET[pesquisa]."%'"; } elseif($_GET[campo] == 'procurado') { $where = "codigo_dentistaprocurado = '".$_GET[pesquisa]."'"; } elseif($_GET[campo] == 'atendido') { $where = "codigo_dentistaatendido = '".$_GET[pesquisa]."'"; } elseif($_GET[campo] == 'indicacao') { $where = "indicadopor LIKE '%".$_GET[pesquisa]."%'"; } elseif($_GET[campo] == 'endereco') { $where = "endereco LIKE '%".$_GET[pesquisa]."%'"; } if($_GET[pg] != '') { $limit = ($_GET[pg]-1)*PG_MAX; } else { $limit = 0; $_GET[pg] = 1; } $sql = "SELECT * FROM `pacientes` WHERE ".$where." ORDER BY `nome` ASC"; if($_GET['campo'] == 'debito') { $sql = "SELECT DISTINCT(vo.codigo_paciente), tp.* FROM pacientes tp INNER JOIN v_orcamento vo ON tp.codigo = vo.codigo_paciente WHERE data < '".date('Y-m-d')."' AND pago = 'Não' AND confirmado = 'Sim' AND baixa = 'Não' ORDER BY `nome` ASC"; } if($_GET['campo'] == 'agendados') { $sql = "SELECT DISTINCT ta.codigo_paciente, tp.* FROM agenda ta INNER JOIN pacientes tp ON ta.codigo_paciente = tp.codigo WHERE ta.data = CURDATE()"; } $lista = $pacientes->ListPacientes($sql.' LIMIT '.$limit.', '.PG_MAX); $total_regs = $pacientes->ListPacientes($sql); $par = $odev = "F0F0F0"; $impar = "F8F8F8"; for($i = 0; $i < count($lista); $i++) { if($i % 2 == 0) { $odev = $par; } else { $odev = $impar; } ?> Quando rodo a busca e mando imprimir ele puxa essa query do sql: <td width="43%" align="right"> <a href="relatorios/pacientes.php?sql=<?php echo $sql;?>" target="_blank" style="text-decoration:none;"> <button class="btn btn-warning"> <span class="glyphicon glyphicon-print"></span> <?php echo $LANG['patients']['print_report']?> </button> </a> <a href="etiquetas/print_etiqueta.php?sql=<?php echo $sql; ?><?php echo ($_GET['campo']=='nascimento' ? '&nasc=true' : '')?>" target="_blank"> <button class="btn btn-warning"> <span class="glyphicon glyphicon-print"></span> <?php echo $LANG['patients']['print_labels']?> </button> </a> </td> Apresenta esse resultado na barra de endereços o que gera o erro. pacientes.php?sql=SELECT%20*%20FROM%20`pacientes`%20WHERE%20nome%20LIKE%20%27%%%27%20ORDER%20BY%20`nome`%20ASC Espero que possam me ajudar já pesquisei e já estou rodando aqui mais meu conhecimento ainda e pouco.
×
×
  • Criar Novo...