Jump to content


Photo

Looping Infinito Em Um Recordset


  • Faça o login para participar
7 replies to this topic

#1 Milton Fernandes

Milton Fernandes

    Normal

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 01/06/2006, 11:22

Olá a todos companheiros do WM

Gente, to com um problema, tava fazendo uns programinhas aki pra arender a mecher no PHP e em dado momento, teve uma parte que fiz uma selecao no banco de dados, joguei dentro de um recordset e comecei a andar pelo seus campos para fazer comparacao.. só q no laco q faz isso, acabei deixando o rs->movenext() do lado de fora... ou seja ele entrou em um laco infinito de analise... o computador ta muiiiiito lento, e tudo ta demorando demais

Por favor, alguem sabe como posso resolver isso...

Obs: Estou usando Linux, e o banco de dados que estou acessando e de uma rede interna.. os arquivos php esta na minha propria maquina

Ancioso por ajuda
M.Oliveira

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 01/06/2006, 11:36

Poste o código que você está usando..
Adiantando, de uma lida no laço de repetição while()

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Milton Fernandes

Milton Fernandes

    Normal

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 01/06/2006, 11:40

Entao G.F...

O erro ela exdruxulo, eu ja corrigi, ja coloquei o comando dentro do laco...
O problema agora é que parece que o APACHE continua executando as instrucoes danada, ele ta comendo uma memoria danada.....

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 01/06/2006, 11:41

E o código?

Flws..
:huh: Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 Milton Fernandes

Milton Fernandes

    Normal

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 01/06/2006, 11:45

Entao *rs, agora ele ja ta certo..
Mas ta aki ó
if ($resultado== ''){ //  Teste para ver se ja algum erro registrado
		while (!$rs->EOF && $resultado==''){ // Enquanto nao for o final do recordset e nao tiver nenhuma ocorrencia
			if ($descricao == $rs->Fields('descricao') ){ // Testa se a variavel passada ja existe no campo descricao
				$resultado = 1; // Se existir, passa a ocorrencia 1
			}
			$rs->MoveNext(); // Saindo do if, pula para o proximo registro do recordset
			}					
		}


Sera q se eu desligar o comp funciona, pra reiniciar o apache?

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 01/06/2006, 11:53

Olha, não sei se adiantaria mas veja esta outra maneira de fazer seu código:
<?
if ($resultado == ''){
  while ( $rs = mysql_fetch_array("query") ){
	if ($descricao == $rs['descricao'] ){
	   $resultado = 1;
	}
  }					
}
?>

Reinicie o PC também.. ;)

Flws...
:DAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 Milton Fernandes

Milton Fernandes

    Normal

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 01/06/2006, 12:08

Problema resolvido...

tive q rieniciar o comp...
Pena q era servidor e tomei uma senhora enrabada...
Me dei mal do mesmo jeito = (

Mas vlw meu velho

abs

#8 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 01/06/2006, 13:17

se vc só matar o processo do apache acho que jah resolve...
mas vá lá...reinicie se quiser!
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq