Ir para conteúdo
Luiz Henrique

Comparação de valores

Recommended Posts

Olá,

Fiz um sistema de busca para preços, e a mesma será realizada em tags, porém como o conteúdo é estático e não há necessidade de segurança é gerado um json para não precisar consultar o DB toda hora, segue parte do código:

 

...
foreach ($data as $key => $value) {
        if (strpos($value->$alvo, $valor) !== false) {
          $array[] = [
              ...
          ];
        }
      }
...

O código é simples, é um foreach para percorrer o json e se encontrar a busca,  cria um array com as informações, ok.

 

Mas queria uma busca com no mysqli,  algo semelhante ao %LIKE%, existe alguma forma de eu fazer isso no php?

Porque da forma que fiz só funciona se digitar a palavra inteira na busca.

 

Ex:

Quero buscar "computador", não consigo digitar as 4 primeiras letras da busca: "comp", precisa ser "computador".

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí não teria como.... teria sim....

No caso se não fosse buscar pelo operador LIKE teria que criar toda um lógica você mesmo onde cada caractere forma um busca real (criar um algorítimo para a situação).

Acho desnessesário mediante ao aogoritimo nessessário a se criar buscasse algo viável no banco, o que daria no mesmo que usar o operador LIKE... então substuíndo ele pelo WHERE

Na questão se o vamos da busca se for comp e o operador for o LIKE mesmo que seja  computador o resultado da busca será indiferentimente.

Ou seja mesmo criando uma lógica total o resultado é o mesmo usando o operador LIKE, tornando qualquer manobra para contornar totalmente desnecessário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa,

 

Achei que teria alguma função que fizesse isso.

 

O que eu fiz foi manual mesmo, peguei os dígitos da busca, contei quantos caracteres tem e fiz a comparação só trecho de palavras.

Mas fica muita gambiarra, para uma coisa simples!

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Delcio Costa
      Olá!, sou novato no php e gostaria de entender como posso separar valores por data, preciso fazer um SELECT para poder realizar o calculo depois, mas para isso acredito que preciso separar os valores da seguinte forma:
      Separar o ultimo registro do VALOR no dia ATUAL  e diminuir do ultimo registro do VALOR no dia ANTERIOR
      Seria algo tipo isso:
      ultimo registro do dia anterior foi: VALOR = 40 , DATA 03-12-2019, HORA 19:30:00
      ultimo registro do dia atual foi    :  VALOR = 60 , DATA 04-12-2019, HORA 17:00:00  
      $ultimo_valor_dia_atual - $ultimo_valor_dia_anterior = valor_acumulado = 20
      Não faço a minima ideia de como fazer isso, já procurei por tudo e não consigo nem achar um exemplo próximo disso, sempre aparece somente como manipular data, mas preciso manipular o valor conforme a data.
      Alguém poderia me ajudar.
    • Por GUTIERRES_RS
      Tenho varios valores em um array
       
      ex: Array ( [0] => 550.75 [1] => 50.02[2] => 100.15 ) 
       
      E gostaria de subtrair de" [0] => 550.75" os valores a partir do segundo "[1] => 50.02" valor do array
       
      Se alguem poder me ajudar desde ja obrigado... :(
       
       
       
    • Por MayaraTorres
      Estou fazendo um comando no firebird 
       
      preciso comparar dois selects,
       
      eu preciso que seja listado os campos numero do lançamento, origem, data, debito, credito e valor
      somente quando o valor for igual.
      ou seja quando tiver origens diferentes e valores iguais isso na mesma tabela.
       
       
      fiz esse comando : 
       
       
       
       select CHAVELCTOCTB,DATALCTOCTB,CODIGOORIGLCTOCTB,CONTACTBDEB,CONTACTBCRED,VALORLCTOCTB  from lctoctb 
      where CONTACTBDEB= 1687 and CODIGOORIGLCTOCTB ='IP'
      and codigoempresa=:CODEmpresa and   DATALCTOCTB between :INICIAL and :FINAL  AND contactbcred= :CONTABANCO 
      union
       
      select CHAVELCTOCTB,DATALCTOCTB,CODIGOORIGLCTOCTB,CONTACTBDEB,CONTACTBCRED,VALORLCTOCTB from lctoctb 
      where CONTACTBCRED= 1687 and CODIGOORIGLCTOCTB ='CP'
      and codigoempresa=:CODEmpresa and   DATALCTOCTB between :INICIAL and :FINAL 
       
      os campos são exatamente o que preciso, porém quero que liste apenas quando o campo VALORLCTOCTB for igual nos dois select
       
    • Por alessandrolcruz
      Olá amigos,
       
      Preciso de uma ajuda.
       
      Eu tenho um banco de dados e nele tem uma tabela de nome segurado com os campos (limite_atual, limite_disponível e limite_usado).
       
      Eu preciso fazer com que o campo limite_atual mostre o resultado entre a subtraçao do limite_usado do limite_disponivel e não sei como fazer isso no php.
       
      você podem me ajudar????
    • Por Robson Wenzel
      Bom Dia!
       
      Estou enfrentando problemas ao realizar somas no report viewer, tenho um dataset configurado com a coluna VALOR do tipo string, e dai no tablix (tabela) eu converto os dados para o tipo monetario pelo código SQL "=FormatCurrency(Fields!Valor.Value,2)", até ai tudo certo. Mas quando eu vou somar o valor total da coluna na tabela da erro, eu uso a função "=Sum(Fields!Valor.Value)". Vocês poderiam me ajudar, gostaria de somar o total do valor e sempre da erro...
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.