reme 0 Denunciar post Postado Fevereiro 11, 2011 Boas pessoal, a questão aqui é simples, mais ta me confundindo, e fiz esse script de pesquisa interna e ele funcionou perfeitamente, mais tarde inseri mais alguns campos e provavelmente mexi em algo que não devia e não estou conseguindo identificar onde esta o erro ja que estou seguindo a mesma logica de quando fiz pela primeira vez.. O erro é o seguinte: quando rodo o codigo ele até me traz resultados, por exemplo, se digito ana, ele me traz ana e rogerio, mas se digito rogerio aí ele me tras só rogerio include "../conect/conecta.php"; function moeda($get_valor) { $source = array('.', ','); $replace = array('', '.'); $valor = str_replace($source, $replace, $get_valor); //remove os pontos e substitui a virgula pelo ponto return $valor; //retorna o valor formatado para gravar no banco } $id = $_POST["id"]; $datacad = $_POST["datacad"]; $novadata = substr($datacad,6,4)."-".substr($datacad,3,2)."-".substr($datacad, 0,2); $cliente = addslashes($_POST["cliente"]); $orcado = addslashes($_POST["orcado"]); $empresaparceira = addslashes($_POST["empresaparceira"]); $localidade = addslashes($_POST["localidade"]); $quilometro = $_POST["quilometro"]; $v_transporte=moeda($_POST["v_transporte"]); $v_equipe =moeda($_POST["v_equipe"]); $cidade = $_POST["listCidades"]; $estado = $_POST["listEstados"]; $end = addslashes($_POST["end"]); $dataentrega = $_POST["dataentrega"]; $novaentrega = substr($dataentrega,6,4)."-".substr($dataentrega,3,2)."-".substr($ dataentrega,0,2); $veiculo = addslashes($_POST["veiculo"]); $obs = addslashes($_POST["obs"]); $descricao = addslashes($_POST["descricao"]); $campos = array(); if (!empty($id)) { // primeira busca $campos[] = "id LIKE '%{$id}%'"; } if (!empty($novadata)) { // segunda busca $campos[] = "datacad LIKE '%{$novadata}%'"; } if (!empty($cliente)) { // segunda busca $campos[] = "cliente LIKE '%{$cliente}%'"; } if (!empty($orcado)) { // segunda busca $campos[] = "orcado LIKE '%{$orcado}%'"; } if (!empty($empresaparceira)) { // segunda busca $campos[] = "empresaparceira LIKE '%{$empresaparceira}%'"; } if (!empty($localidade)) { // segunda busca $campos[] = "localidade LIKE '%{$localidade}%'"; } if (!empty($quilometro)) { // segunda busca $campos[] = "quilometro LIKE '%{$quilometro}%'"; } if (!empty($cidade)) { // segunda busca $campos[] = "cidade LIKE '%{$cidade}%'"; } if (!empty($estado)) { // segunda busca $campos[] = "estado LIKE = '%{$estado}%'"; } if (!empty($end)) { // segunda busca $campos[] = "end LIKE = '%{$end}%'"; } if (!empty($veiculo)) { // segunda busca $campos[] = "veiculo LIKE = '%{$veiculo}%'"; } if (!empty($novaentrega)) { // segunda busca $campos[] = "dataentrega LIKE '%{$novaentrega}%'"; } if (!empty($obs)) { // segunda busca $campos[] = "observacao LIKE '%{$obs}%'"; } if (!empty($descricao)) { // segunda busca $campos[] = "descricao LIKE '%{$descricao}%'"; } if (!empty($v_quipe)) { // segunda busca $campos[] = "valorequipe LIKE '%{$v_equipe}%'"; } if (!empty($v_transporte)) { // segunda busca $campos[] = "valortransporte LIKE '%{$v_transporte}%'"; } $resultado = "Select * FROM cadorcamento"; if (count($campos)) { $resultado .= " WHERE ".join(" OR ", $campos); } $resultado .= " ORDER BY id DESC"; $sql = mysql_query($resultado); if(!$sql){echo mysql_error();exit();} $count = mysql_num_rows($sql); // conta quantos registros encontrados com a nossa especificação if ($count == 0) { echo "Nenhum resultado encontrado!"; } else { // senão if ($count == 1) { ?> <html><div align="center"> <? echo "1 resultado encontrado!"; ?> </div></html> <? } // se houver um resultado diz que existe um resultado if ($count > 1) { ?> <html><div align="center"> <? echo "$count resultados encontrados!"; ?></div></html> <? } // se houver mais de um resultado diz quantos resultados existem while ($dados = mysql_fetch_array($sql)) { // enquanto houverem resultados... ?> <html> <div>Número do Orçamento:<? echo $dados["id"];?> <div class="right">Data do Cadastro:<? echo $dados["datacad"];?></div></div> <? echo "<p>"; ?> <div>Cliente/Contato:<? echo $dados["cliente"];?> <div class="right">Orçado Por:<? echo $dados["orcado"];?></div></div> <? echo "<p>";?> <div>Endereço da Entrega:<? echo $dados["end"];?> <div class="right">Cidade:<? echo $dsc_cidade?> - Estado: <? echo $dsc_estado;?></div></div> <? echo "<p>";?> <div>Empresa Parceira:<? echo $dados["empresaparceira"];?> <div class="right">Localidade:<? echo $dados["localidade"];?></div></div> <? echo "<p>";?> <div>Data da Entrega:<? echo $dados["dataentrega"];?> <div>Distancia:<? echo $dados["quilometro"];?>Km</div></div> <div align="right">Valor de Equipe: <? echo $dados["valorequipe"];?></div> <div class="right">Valor do Transporte:<? echo $dados["valortransporte"];?></div> <? echo "<p>";?> <div>Veiculo:<? echo $dados["veiculo"];?></div> <? echo "<p>";?> <div>Observações: <h3><pre><? echo $dados["obs"];?></pre></h3></div> <div>Descrição:<h3><pre><? echo $dados["descricao"]?></pre></h3></div> <div class="left"><a href='../editar.php?id=<? echo "$id" ?>'>Editar</a></div> <div align="center"><a href='deletar.php?id=<? echo "$id" ?>'>Excluir</a></div><br> <? echo "<hr>";?> </html> <? } } ?> criei o codigo a partir de exemplo que vi na internet, porém os exemplos que vi eram para um campo só, adaptei para que atendesse a multiplos campos de pesquisa. (Lembrando que no começo ele funcionou perfeitamente, só me passou a dar erros quando acrescentei mais alguns campos de pesquisa). olá a todos, a situação agora mudou. o codigo passou a funcionar corretamente... Por que? isso eu não sei. o que foi feito? bem eu tinha duas inserções no banco, uma com id nº127 e outra com id nº 132, exclui o nº127 e adicionei o nº133, apartir de então o codigo passou a funcionar (não tenho certeza se foi esse realmente o motivo)... Mais enfim, se foi esse mesmo o motivo, tenho medo de que sem mais nem menos ao fazer algumas exclusões no banco o codigo passe a gerar erros novamente. Então se puderem continuar analizando o codigo... um abraço a todos que postarem Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 11, 2011 Amigo , troque as tags <? , pra <?php Abraços Compartilhar este post Link para o post Compartilhar em outros sites
reme 0 Denunciar post Postado Fevereiro 12, 2011 Amigo , troque as tags <? , pra <?php Abraços acredito que não seja o caso, caso contrario iria gerar um erro fatal e não trabalhar de forma errada apenas Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 12, 2011 não nen sempre as tags <? mostra erros pelomenos aqui .. o codigo que está entre as tags php não e executado .. :) Compartilhar este post Link para o post Compartilhar em outros sites
reme 0 Denunciar post Postado Fevereiro 17, 2011 estranho pessoal, a logica que eu usei para este caso parece perfeita, mais muitas vezes o codigo não funciona corretamente Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 17, 2011 quando rodo o codigo ele até me traz resultados, por exemplo, se digito ana, ele me traz ana e rogerio, mas se digito rogerio aí ele me tras só rogerio ficou muito vago isso. $resultado .= " ORDER BY id DESC"; echo $resultado; analise como ficou a string SQL. Não consegui entender 'o erro'. Eu faria desta forma também, não vi nada de anormal. Compartilhar este post Link para o post Compartilhar em outros sites
reme 0 Denunciar post Postado Fevereiro 17, 2011 Deixa eu tentar explicar melhor o erro. diga mos que tenho a seguinte tabela: Nome ------------- Idade -------------- Sexo Junior ----------- 22 -------------- M Sandra ----------- 18 -------------- F Thiago ----------- 32 -------------- M Henrique --------- 40 -------------- M caso eu preencha nos campos nome -> junior e idade -> 18 a resposta deveria ser: Junior e Sandra caso eu preencha no campo nome -> Thiago a resposta deveria ser: Thiago Porém o que acontece é que no primeiro caso a resposta vem correta e no segundo vem: Thiago e Sandra e Henrique. isso é só um exemplo, os resultados estão sendo muito inesperados. pesquiso por cibeli e me aparece even e depois cibeli, mais se digito even o resultados vem corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
reme 0 Denunciar post Postado Fevereiro 18, 2011 Tenho outra aqui. Esse codigo ta dando dor de KBça heim. é o seguinte, as variaveis $cidade e $estado, estão sendo transmitidas corretamente, mais não trazem resultado, em vez disso ele da este erro: 531816You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '%16%' OR dataentrega LIKE '%--%' ORDER BY id DESC' at line 1 Onde 5318 é o codigo referente a cidade e 16 é referente ao estado, como vcs podem ver, as variaveis estão sendo transmitidas. a quem estiver disposto a ajudar obrigado, e a quem quiser o codigo do sistema completo me mande um e-mail -- remington@armonline.com.br Compartilhar este post Link para o post Compartilhar em outros sites