Jump to content

Archived

This topic is now archived and is closed to further replies.

ronaldo_calado

eregi

Recommended Posts

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' 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:

Share this post


Link to post
Share on other sites

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;					}

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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' 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...

Share this post


Link to post
Share on other sites

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. ;)

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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,

Share this post


Link to post
Share on other sites

×

Important Information

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