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 =newTPacientes();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:
Pergunta
Geraldo Kuster
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
Quando rodo a busca e mando imprimir ele puxa essa query do sql:
Apresenta esse resultado na barra de endereços o que gera o erro.
Espero que possam me ajudar já pesquisei e já estou rodando aqui mais meu conhecimento ainda e pouco.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.