Jump to content
RDG

Busca PHP não diferencia maiúsculo de minúsculo

Recommended Posts

Amigos, estou com um problema no resultado de busca somente no campo conteudo, o qual não exibe informações se não for buscado exatamente como é está no banco de dados neste caso não diferenciando letras maiúsculas de minúsculas.

Por exemplo por "Palio" como está cadastrado o resultado é exibido, agora de buscar por "palio" não exibe nenhum resultado.

O que notei também é se eu buscar por "alio" exibe os resultados que no caso seria do Palio.

 

Abaixo a estrutura do Banco de Dados que utilizo para esse sistema, um detalhe que notei é que o o campo conteudo Tipo blob não aceira o Collation  latin1_swedish_ci. Alterei e salvei mas volta a ficar em branco.

 

  # Nome Tipo Agrupamento (Collation) Atributos Nulo Predefinido Comentários Extra Acções
  1 id  int(10)   UNSIGNED Não None   AUTO_INCREMENT    
  •  
  2 idpeca int(10)   UNSIGNED Não None        
  •  
  3 codymax varchar(255) latin1_swedish_ci   Sim NULL        
  •  
  4 valor varchar(300) latin1_swedish_ci   Não None        
  •  
  5 montadora varchar(300) latin1_swedish_ci   Não None        
  •  
  6 referencia varchar(300) latin1_swedish_ci   Não None        
  •  
  7 conteudo blob     Não None        
  •  
  8 ext varchar(3) latin1_swedish_ci   Sim NULL          

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Esta sessão está na index, que no caso aparece também na página do resultado da busca.

 

  <form action="?pg=busca" method="post" enctype="multipart/form-data">

          
            <?php
            $selCats = "SELECT * FROM galeria_pecas ORDER BY codymax";
            $qrCats = mysql_query($selCats);
                while($linhaCat = mysql_fetch_array($qrCats)){
            ?>
           
            <?php
            }
            ?>

      </form>

 

---------------------------------------------------------------------------------------------------------------------

 

A sessão abaixo está na página de resultado de buscas.

 

<?php 
      if (isset($_POST['acao']) && $_POST['acao'] == 'buscar'){
      $idcategorias = $_POST['galeria_pecas'];
      $pesquisa = strip_tags(trim($_POST['pesquisa']));
      
      $busca = "SELECT * FROM galeria_pecas WHERE
        codymax LIKE '%$pesquisa%' 
        OR valor LIKE '%$pesquisa%' 
        OR montadora LIKE '%$pesquisa%' 
        OR referencia LIKE '%$pesquisa%' 
        OR conteudo LIKE '%$pesquisa%' AND idpeca order by idpeca ";


      $qrBusca = mysql_query($busca);
       if(mysql_num_rows($qrBusca) == '0'){
         echo '<p> Não foram encontrados resultados para sua pesquisa!</p>';

 
       }else{
           while($linhaBusca = mysql_fetch_assoc($qrBusca)){
   ?>

Share this post


Link to post
Share on other sites

Teria quer ir testando a instrução SQL e o código parte por parte para achar oque está acontecendo, mas enquanto isso se você quiser quebrar um galho daria para fazer algo assim: 

Ucfirst 

Strtolower

 

<?php
$foo = 'hello world!';
$foo = ucfirst($foo);             // Hello world!

$bar = 'HELLO WORLD!';
$bar = ucfirst($bar);             // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
?>

valww

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By adrianno
      Fala pessoal beleza?
      Tenho um problema para resolver,  tenho um sistema em PHP com MySQL, mas preciso melhorar a paginação,  tenho uma 2 lógicas de paginação em mente, uma delas é a que mais se encontra e videos, blogs, postagens  mostrando na web,
       
      onde damos um primeiro select CAMPO from TABELA, contamos  o resultado e temos o total de registros para tratar a quantidade de páginas, limite, quantidade que vai aparecer por página etc,  apos isso damos novamente o select CAMPOS from TABELA limite x, y  de acordo com o que obtivemos na lógica da paginação com a primeira SQL. esta lógica até que funciona, mas, não consegui aplicar ela usando JOIN  agrupando 2 ou mais tabelas, pois ai, eu teria  que fazer esta contagem  lá a primeira SQL, ou seja no fim, teria 2 SQL sendo executadas , uma mais rápida devido ao limit passado, mesmo assim ainda seriam 2 consultas.
      Outras lógica seria dar um SELECT count(CAMPO) from TABELA  seria uma SQL mais rápida,  mas...  se eu tiver um JOIN agrupando dados de uma tabela de categoria + produtos, eu teria que contar o resultado já agrupado das 2.
      Já pensei em executar a consulta normal, retornar o array dos dados, e depois paginar este array  com array_slice, e dividir ele de acordo com a quantidade de páginas e registros de cada.
      Já fiz paginação com JS/AJAX  mas mesmo assim, ainda preciso passar os dados totalizados, consigo uma boa visualização final na interface, mas por tras, sei que o processamento no MYSQL pesa
       
      Lembrando que em cada caso citado, cada vez que alteramos entre as páginas, é novamente executado os calculos.
       
      Alguem tem uma lógica bacana para paginação? de forma que nao fique pesado, lento em uma tabela muito grande?
       
       
       
       
       
       
       
    • By zinleo1
      Galera, estou sofrendo com um problema ao editar a senha do aluno, alguém saberia ajudar com o motivo do erro? Tô precisando disso pra entregar a avaliação no curso urgentemente.
       
      Pag 1: Codigos -> areadoaluno.php
      <html>      <?php        session_start();    ?>     <head>         <title>Editar registro de aluno</title>         <meta charset='utf-8'/>        </head>     <body>             <form name="areadoaluno.php" method="POST" action="alterar_senha.php">                 <fieldset>                     <legend>bem vindo,<?php echo $_SESSION['logado']."!";?></legend>                     <?php  session_destroy(); ?>                 </fieldset>                 <input type="submit" name="editarsenha" value="Editar Senha">             </form>              </body> </html> Pag 2: Codigos -> Alterar_senha.php
      <html>     <head>         <title>Editando a senha do aluno</title>         <meta charset='utf-8'/>        </head>     <body> <?php     include('conexao.php');               $cod = $_GET['id'];          echo $cod;    echo "<b>Editando sua senha! ".$cod."</b></br></br>";     $query ="SELECT * FROM aluno WHERE cod_aluno = $cod";          $result = mysqli_query($con,$query);     if ($result->num_rows > 0) {         echo "<form method='post' action='alterar_senha_conf.php'>";         while($linha = mysqli_fetch_array($result)) {             echo "<label>Login:</label><input required type='text' name='login_aluno' readonly='readonly' value='".$linha["login_aluno"]."'></input><br>";             echo "<label>Senha:</label><input type='text' name='senha_aluno' value='".$linha["senha_aluno"]."'></input><br>";                          echo "<label>Código do aluno:</label><input  type='text' name='cod_aluno' readonly='readonly' value='".$linha["cod_aluno"]."'></input><br>";             echo "<input type='submit' value='salvar'></input>";         }             echo "</form>";     } else {         echo "<b class='erro'>Sem resultados para mostrar</b><br><br>";     } ?> </body> </html> Pag 3: Codigos -> Alterar_senha_conf.php 
      <html>     <head>         <title></title>         <meta charset='utf-8'/>     </head>     <body> <?php     include('conexao.php');     $login = $_POST['login_aluno'];     $senha = $_POST['senha_aluno'];     $cod = $_POST['cod_aluno'];     echo "Login: ".$login."</br>Senha: ".$senha."</br></br>";     $adc = "UPDATE aluno SET login_aluno='$login', senha_aluno='$senha' WHERE cod_aluno='$cod'";      $ins = mysqli_query($con,$adc);     if($ins)     {     echo "<b style='color:green'>Usuário editado com sucesso!</b> </br><a href='areadoaluno.php'>Voltar</a>";     }     else     {     echo "Erro </br><a href='areadoaluno.php'>Voltar</a>";     }           ?>     </body> </html>  
    • By Rodrigo2000
      Bom dia,
       
      Tenho estado a criar uma base dados onde vou inserir um conjunto de elementos de uma textarea.
      Quando o texto é curto, facilmente passa para a base de dados, no caso de ser longo não passa nada.
      O problema é claramente as variáveis, na base de dados já alterei o tamanho dos campos, mas resolveu o
      problema.
      Alguem tem uma ideia de como posso resolver o problema.
       
      Envio o código fonte da página de entrada de dados.
      Tenho igualmente um problema que ainda nem percebi o que se passa.
      O texto quando carregado na textarea e input aparece com espaços, como é que os posso
      eliminar.
       
      Sem mais
      Rodrigo Lourenço
       
      <!DOCTYPE HTML>
      <html>
      <head>
        <title>Adiciona Artigo</title>
        <meta name="description" content="website description" />
        <meta name="keywords" content="website keywords, website keywords" />
        <meta http-equiv="content-type" content="text/html; charset=windows-1252" />
        <link rel="stylesheet" type="text/css" href="style/style.css" title="style" />
      </head>
      <body>
        <?php
          //começa por verificar a sessão, caso não esteja activa envia para a página inicial.
          require("livraria.php");
          session_start();
          $validacao = array();
          
          $login = 0;
          if (isset($_SESSION['login']) && isset($_SESSION["sessionmaxtime"])){
              $login = $_SESSION['login'];        
          }
          if ($login == 0)
              echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php\">";
          else{    
              if ($_SERVER["REQUEST_METHOD"] == "POST"){            
                  $validacao = validarAdd();
              }
          }
        ?>
        <div id="main">
          <div id="header">
            <div id="logo">
              <div id="logo_text">
                <!-- class="logo_colour", allows you to change the colour of the text -->
                <h1><a href="index.php">Livro<span class="logo_colour">Aberto</span></a></h1>
                <h2>Um lugar onde se lê e fala de livros.</h2>
              </div>
            </div>
            <div id="menubar">
              <ul id="menu">
                <!-- put class="selected" in the li tag for the selected page - to highlight which page you're on -->
                <li><a href="index.php">Home</a></li>
                <li class="selected"><a href="add.php">Criar</a></li>
                <li><a href="apagar.php">Apagar</a></li>
                <li><a href="alterar.php">Alterar</a></li>
                <li><a href="gerir.php">Utilizadores</a></li>
                <li><a href="sair.php">Sair</a></li>
                <?php
                  echo "<li><a href=\"#\"> ".$_SESSION["utilizador"]."</a></li>";
                ?>
              </ul>
            </div>
          </div>
          <div id="site_content">
            <div class="sidebar">
              <!-- insert your sidebar items here -->
              <h3>Livros em Revista</h3>
              <p>Use o formulário para inserir um novo artigo.</p>          
              <p>
                  Os campos abaixo mencionados são preenchidos automáticamente.
                  <ul>
                      <li> Autor </li>
                      <li> Data </li>
                  </ul>
                </p>
              <p></p>
              <h3>Sites Uteis</h3>
              <ul>
                <li><a href="#">link 1</a></li>
                <li><a href="#">link 2</a></li>
                <li><a href="#">link 3</a></li>
                <li><a href="#">link 4</a></li>
              </ul>
            </div>
            <div id="content">
              <!-- insert the page content here -->
              <h1>Novo Registo</h1>
              <form action="#" method="post">
                <div class="form_settings">
                  <p><span>Titulo
                  <?php
                      if ($_POST && in_array("titulo",$validacao))
                          echo "(Obrigatório)";    
                  ?></span><input class="contact" type="text" name="titulo"  value="
                  <?php
                          if($_POST  && (count($validacao) > 0))
                              if(!empty($_POST["titulo"]))
                                  echo $_POST["titulo"];
                  ?>
                  " /></p>
                  <p><span>Autor</span><input class="contact" type="text" name="autor" readonly="true" value="
                  <?php
                      echo $_SESSION["utilizador"];
                  ?>" /></p>
                  <p><span>Artigo
                  <?php
                      if ($_POST && in_array("artigo",$validacao))
                          echo "(Obrigatório)";    
                  ?>            
                  </span><textarea class="contact textarea" rows="20" cols="50" name="artigo">
                  <?php
                          //echo $_POST["artigo"];
                          if($_POST  && (count($validacao) > 0))
                              if(!in_array("artigo",$validacao))
                                  echo $_POST["artigo"];                                        
                  ?>
                  </textarea></textarea></p>
                  <p><span>Resumo
                  <?php
                      if ($_POST && in_array("resumo",$validacao))
                          echo "(Obrigatório)";    
                  ?>                
                  </span><textarea class="contact textarea" rows="4" cols="50" name="resumo">
                  <?php
                          if($_POST  && (count($validacao) > 0))
                              if(!in_array("resumo",$validacao) )
                                  echo $_POST["resumo"];                                    
                  ?>            
                  </textarea></textarea></p>
                  <p><span>Data</span><input class="contact" type="date" name="data" readonly="true" value="<?php
                      date_default_timezone_set('Europe/Lisbon');
                      echo date('Y-m-d');        
                  ?>" /></p>
                  
                  <p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="contact_submitted" value="Adicionar" /></p>
                </div>
              </form>
            </div>
          </div>
          <div id="footer">
            Copyright &copy; textured_blue | <a href="http://validator.w3.org/check?uri=referer">HTML5</a> | <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> | <a href="http://www.html5webtemplates.co.uk">Free CSS Templates</a>
          </div>
        </div>
        <?php
              //Uso da base de dados.
              $servername = "localhost";
              $username = "root";
              $password = "";  //campo a ser mudado consoante a password da base de dados.
              $dbname = "bdbooks";
              // Create connection
              $con = new mysqli($servername, $username, $password, $dbname);
                  
              //Verifica se houve erro ao aceder à base de dados
              if ($con->connect_errno!=0){
                  echo "Ocorreu um erro de ligação à base de dados.".$con->connect_errno;
                  exit;
              }
              
              //Só quando não houverem elementos na $validação é que se pode avançar.
              if(($_POST) && (count($validacao) == 0)){
                  
                  //Inserção dos dados na base de dados.            
                  //Usando antes o metodo query que usa a sintaxe mysql directamente.
                  //Tratamento das variáveis para evitar problemas de injecção de SQL.
                  $titulo = htmlentities(htmlspecialchars($_POST["titulo"]),ENT_QUOTES);
                  $artigo = htmlentities(htmlspecialchars($_POST["artigo"]),ENT_QUOTES);
                  $resumo = htmlentities(htmlspecialchars($_POST["resumo"]),ENT_QUOTES);
                  //Os campos pré preenchidos
                  $iduser = $_SESSION["userid"];
                  $data = $_POST["data"];
                      
                  //Segundo construção da string para introdução dos dados SQL.
                  $query = "INSERT INTO articles (artigo, data, id_users, resumo, titulo) VALUES(";
                  //Introdução dos dados na string.
                  $query = $query. "\"".$artigo."\",";
                  $query = $query. "\"".$data."\",";
                  $query = $query. "\"".$iduser."\",";
                  $query = $query. "\"".$resumo."\",";
                  $query = $query. "\"".$titulo."\");";
                  //realização da query
                  $con->query($query);
                  //Depois de utilizar os dados temos que os apagar.
                  unset($_POST);            
                  } //Fim do if  
        ?>
          
      </body>
      </html>
       
    • By robertopr
      Prezados, bom dia,
       
      Por favor, uma dúvida:
      Para evitar usar o phpmyadmin, Heidi ou qualquer outro front-end, estou tentando fazer a importação de dados
      para a tabela direto pelo php.
      Já empaquei no básico, tentando usar o SQL:
      LOAD DATA LOCAL INFILE "C:/pasta/importa.txt" INTO TABLE `people` FIELDS TERMINATED BY ';' ENCLOSED BY '"' 
          LINES TERMINATED BY '\n' 
       
      Não localiza a pasta na minha máquina de jeito nenhum.
       
      Já tentei alterar as barras e aspas, mas não vai. Preciso matar esta questão para
      depois jogar no php.
       
      Obrigado.
    • By Fabiofbrs
      Boa Noite! alguém pode me ajuda? Não consigo fazer o botão de busca funcionar.
       
      <?php include('conecta.php'); ?>
      <!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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Loja Virtual</title>
      <style type="text/css">
      .cor {
          color: #FFF;
      }
      .cor {
          color: #FFF;
          font-weight: bold;
      }
      #form1 table tr td {
          font-weight: bold;
      }
      </style>
      </head>
      <body>
      <h1>
        <?php
      ?>
      </h1>
      <form id="form1" name="form1" method="post" action="">
        <table width="636" height="362" border="0">
          <tr> 
            <td width="27" align="center" valign="middle">&nbsp;</td>
            <td width="66" align="center" valign="middle">&nbsp;</td>
            <td width="60" align="center" valign="middle">&nbsp;</td>
            <td width="100" align="center" valign="middle">&nbsp;</td>
            <td width="64" align="center" valign="middle">&nbsp;</td>
            <td width="115" align="center" valign="middle" bgcolor="#FFCC66">PESQUISAR</td>
            <td width="148" align="center" valign="middle" bgcolor="#FFCC66"><label for="buscar"></label>
            <input type="text" name="buscar" id="buscar" /></td>
            <td width="399" align="center" valign="middle" bgcolor="#FFCC66"><input type="submit" name="aceitar" id="aceitar" value="Buscar" /></td>
          </tr>
          <tr>
            <td colspan="8" align="center" valign="middle"><img src="imagem/Banner.jpg" width="100%" height="109" /></td>
          </tr>
          <tr>
            <td colspan="8" align="center" valign="middle" bgcolor="#000000" class="cor">LISTA DE PRODUTOS</td>
          </tr>
          <tr>
            <td align="center" valign="middle" bgcolor="#FFCC33">ID</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">IMAGEM</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">NOME</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">DESCRIÇÃO</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">PREÇO</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">QUANTIDADE</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">DATA</td>
            <td align="center" valign="middle" bgcolor="#FFCC33">DESCRIÇÃO</td>
          </tr>
          <tr>
            <td align="center" valign="middle" bgcolor="#FFFF66">1</td>
            <td align="center" valign="middle" bgcolor="#FFFF66"><img src="imagem/santos.jpg" width="53" height="53" /></td>
            <td align="center" valign="middle" bgcolor="#FFFF66">SANTOS</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">SANTOS</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">R$25,00</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">1</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">06/07/2018</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">&nbsp;</td>
          </tr>
          <tr>
            <td align="center" valign="middle" bgcolor="#FFFF66">2</td>
            <td align="center" valign="middle" bgcolor="#FFFF66"><img src="imagem/crisma.jpg" width="53" height="53" /></td>
            <td align="center" valign="middle" bgcolor="#FFFF66">CRISMA</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">CRISMA</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">R$25,00</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">1</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">06/07/2018</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">&nbsp;</td>
          </tr>
          <?php
          $consulta = mysql_query("SELECT* FROM produtos");
          
          if (isset($_post['buscar'])) {
          
          $consulta = mysql_query("SELECT * FROM where nome like '%".$_post['buscar']."%'");    
          }
          
          while($linha=mysql_fetch_array($consulta)) {
              $id = $linha['id'];
              $imagem = $linha['imagem'];
              $nome = $linha['nome'];
              $desc = $linha['descricao'];
              $preco = $linha['preco'];
              $quant = $linha['quantidade'];
              $data = $linha['data'];
          
          ?>
           <?php } ?>

          <tr>
            <td align="center" valign="middle" bgcolor="#FFFF66">3</td>
            <td align="center" valign="middle" bgcolor="#FFFF66"><img src="imagem/diversas.jpg" width="53" height="53" /></td>
            <td align="center" valign="middle" bgcolor="#FFFF66">DIVERSOS</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">DIVERSOS</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">R$25,00</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">1</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">06/07/2018</td>
            <td align="center" valign="middle" bgcolor="#FFFF66">&nbsp;</td>
          </tr>
          
            
          
        </table>
        
      </form>
      </body>
      </html>
       
       
       
       
       
      Conecta.php
       
      <?php
      $conexao = mysql_connect("localhost", 'root',
      'vertrigo') or die (' Não foi Possivel conectar');
      $db = mysql_select_db('loja', $conexao) or die ('Não foi Possivel conectar a base de dados');
      ?>
       
       
       
×

Important Information

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