Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Williams Duarte

[Resolvido] For ou Foreach

Recommended Posts

Boa tarde galera, uma pergunta básica após ler o manual sobre for e foreach fiquei em uma dúvida de qual usar para um loop para atualização.

 

Através de um checkbox pego o id do cliente para atualização de um campo, até tudo bem!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Só que o cliente quer uma lista de pelo menos 5.000 clientes a cada página para ele conferir quem pagou a mensalidade através de um código e assim fazer a atualização dos registros.

 

Mas qual destes usar for o foreach qual vocês aconselham?

 

5.000 é muito né? não é não! eles estão fechando em média 3 mil clientes mês no plano de saúde.

meta é 1 milhao. http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende.

qual é a fonte dos dados?

 

Não faz muita diferença usar um ou outro. O foreach é bom para arrays associativos, por exemplo.

Olá Beraldo!

 

A fonte esta armazenada no banco mysql

 

dei uma pesquisada sobre arrays associativos e Array com índices numéricos e não notei muita diferença entre um e outro, pois os exemplos cintam os uso dos dois.

 

Mas o for me parece ter melhor desempenho para índices numéricos

 

Muito obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom o melhor seria o for (na minha opnião)

 

faz assim

 

<?
for ($i=1; $i <= 50000; $i++){

echo "Aqui se repetirá 50000 vezes, você está na " . $i . "<br />";

}
?>

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

A vantagem do foreach com arrays associativos é que uma variável conterá o nome do campo. Por exemplo:

 

este array não pode ser percorrido com um ocntador inteiro:

$arr['um'] = 'un';

$arr['dois'] = 'dois';

 

Com um foreach é possível:

 

foreach ($arr as $k => $v)
{
	echo $k . ' => ' . $v;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então galera eu fiz assim e funcionou com 15.000 registros

 

 

<input type="checkbox" name="lista[]" value="<?php echo $idCliente ?>"> Código Cliente <?php echo $idCliente ?>

<?php
$valor = $_POST["lista"];
	for($i=0;$i<count($valor);$i++){
		$up = mysql_query("UPDATE tabela SET campo= '0' WHERE cod= '".$valor."'");
	}

echo "Total: " . sizeof($_POST["lista"]);
?>

Muito obrigado a todos !!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

[RESOLVIDO]

 

:rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tal simplificar um pouco e tornar a execução mais rápida? ;)

 

$sql = "UPDATE tabela SET campo = 0 WHERE cod IN(" . implode(",", $valor) . ")";

Valeu Beraldo!!! http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif

 

Bem mas simples mesmo http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Grande abraço e obrigado pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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