Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, to com um problema pra utilizar o eregi, to fazendo um script d busca, ele ta assim:
if(eregi($busca , $array['referencia'])) { $descricao = $array['descricao']; $cor = $array['cor']; $referencia = $array['referencia']; $valor = $array['valor']; $tipo = $array['tipo']; $foto = $array['foto']; $marca = $array['marca']; $estado = $array['estado']; echo "<table width='450' border='0' cellspacing='0' cellpadding='0'> <tr> <td width='150'><div align='center'><img src='produtos/$foto'/></div></td> <td width='300'><p class='style1'><strong>$marca</strong> - $cor<br /> <b>Referência:</b> $referencia<br /> <b>Descrição:</b> $descricao<br /> </p> <p class='style1'><b>Valor:</b> $valor <br /><br /> <a href='[http://welcome.hp.com/country/br/pt/welcome.html'](http://welcome.hp.com/country/br/pt/welcome.html) target='_blank'>HP Brasil</a></p></td> </tr> </table>";
Só que gostaria de saber como faço pra caso ele não encontre nenhum resultado, ele mostrar uma mensagem, já coloquei um else e não fuincionou, como faço??? :blink:
Como você colocou o else?
To tentando fazer pra que quando ele não encontre nenhum registro apareça uma mensagem avisando q nenhum registro foi encontrado e retornar para a página anterior, o script ta assim:if(eregi($busca , $array['referencia'])) { $descricao = $array['descricao']; $cor = $array['cor']; $referencia = $array['referencia']; $valor = $array['valor']; $tipo = $array['tipo']; $foto = $array['foto']; $marca = $array['marca']; $estado = $array['estado']; echo "<table width='450' border='0' cellspacing='0' cellpadding='0'> <tr> <td width='150'><div align='center'><img src='produtos/$foto'/></div></td> <td width='300'><p class='style1'><strong>$marca</strong> - $cor<br /> <b>Referência:</b> $referencia<br /> <b>Descrição:</b> $descricao<br /> </p> <p class='style1'><b>Valor:</b> $valor <br /><br /> <a href='http://welcome.hp.com/country/br/pt/welcome.html' target='_blank'>HP Brasil</a></p></td> </tr> </table>"; if($i<$resul) { echo "<hr width='455' />"; } elseif($i==$resul) { } } else { echo "<script>window.alert('Nenhum cartucho encontrado');history.back();</script>"; exit; }
Parece que você esqueceu de fechar a chave do primeiro if "}". Veja se não é isso.
Parece que você esqueceu de fechar a chave do primeiro if "}". Veja se não é isso.
NÃO É ISSO, ESSE { Q TA EMCIMA DO ELSE Q TA FECHANDO O IF
Ops, é mesmo.Diga uma coisa, quando encontra um registro o código funciona?
Ops, é mesmo.Diga uma coisa, quando encontra um registro o código funciona?
Funciona, ele ta funcionando direito, só gostaria de saber como faço pra caso ele não encontre nenhum registro aparece a mensagem de nenhum registro encontrado
Tenta colocar assim e posta o resultado:
else { echo "Falhou"; }
>
Tenta colocar assim e posta o resultado:
else { echo "Falhou"; }
Já tentei, o que ta contecendo é o seguinte, esse IF ta dentro de um FOR ai quando eu coloco assim ele repeta a mensagem quantas vezes o laço for feito...entendeu?
Então o problema está no laço FOR.Você colocou o <script> abrindo um popup e encerrando o código com exit como um paliativo.Acho que você tem que conferir o FOR, pois o if está correto.
Tai, vo colocar meu código todo pra você dar uma olhada:
<?php include "conecta.php"; $busca = $_POST['busca']; $comando = mysql_query("select * from produtos"); $resul = mysql_num_rows($comando); for($i=1;$i<=$resul;$i++) { $array = mysql_fetch_array($comando); if(eregi($busca , $array['referencia'])) { $descricao = $array['descricao']; $cor = $array['cor']; $referencia = $array['referencia']; $valor = $array['valor']; $tipo = $array['tipo']; $foto = $array['foto']; $marca = $array['marca']; $estado = $array['estado']; echo "<table width='450' border='0' cellspacing='0' cellpadding='0'> <tr> <td width='150'><div align='center'><img src='produtos/$foto'/></div></td> <td width='300'><p class='style1'><strong>$marca</strong> - $cor<br /> <b>Referência:</b> $referencia<br /> <b>Descrição:</b> $descricao<br /> </p> <p class='style1'><b>Valor:</b> $valor <br /><br /> <a href='[http://welcome.hp.com/country/br/pt/welcome.html'](http://welcome.hp.com/country/br/pt/welcome.html) target='_blank'>HP Brasil</a></p></td> </tr> </table>"; if($i<$resul) { echo "<hr width='455' />"; } elseif($i==$resul) { } } else { echo "<script>window.alert('Nenhum cartucho encontrado');history.back();</script>"; exit; } } ?>
V o que pode estar errado...
if(mysql_num_rows($comando) == 0){echo "Não encontrou registro";}else{for($i=0; $i<=$result; $i++){coloca seu código e pode retirar aquele último else;}Veja se resolve. ;)
if(mysql_num_rows($comando) == 0){echo "Não encontrou registro";}else{for($i=0; $i<=$result; $i++){coloca seu código e pode retirar aquele último else;}Veja se resolve. ;)
Não kra, ele deve selecionar todos os produtos, sempre vai existir, nunca o mysql_num_rows vai ser 0, e eu não posso mandar selecionar no banco apenas o que o cliente escreve pq ele pode digiar apenas 1 por exemplo, e quere ver todos os produtos que tenha o número 1 entendeu?
Acho que você tem que rever a lógica do seu código. No seu tópico acima você colocou:
To tentando fazer pra que quando ele não encontre nenhum registro apareça uma mensagem avisando q nenhum registro foi encontrado e retornar para a página anterior,
Como você colocou o else?