Ir para conteúdo

POWERED BY:

Arquivado

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

William Bruno

[Resolvido] Inserir 2 arrays no banco

Recommended Posts

Bom Dia galera.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Por algum motivo o tópico que fiz ontem sumiu... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

Enfim.. tenho a seguinte situação:

Preciso cadastrar vários "estados e regiões", para um mesmo 'cara'. Então fiz 2 tabelas:

 

TABLE cara, idCara, nomeCara

TABLE lugar, idCara, estado, regiao

 

Estou pegando do formulário através de 2 arrays:

<input type="text" name="estado[]" />
<input type="text" name="regiao[]" />
Um possível cadastro seria:

 

id Cara: 1

Estado: SP, Região: Todo o Estado

Estado: RJ, Região: Somente a Baixada

 

O probleminha, é que com 2 foreachs encaixados, cadastra duplicado.

foreach( $_POST['estado'] as $estado )
		{
			foreach( $_POST['regiao'] as $regiao )
			{
				$cobertura->regiao		= $regiao;
				$cobertura->estado		= $estado;
				$cobertura->inserirCobertura();
			}
		}
E agora? como fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw Beraldo.

for( $i =0; $i < count($_POST['estado']); $i++ )
			{
				if( $_POST['estado'] != '' )
				{
					$cobertura->regiao		= $_POST['regiao'][$i];
					$cobertura->estado		= $_POST['estado'][$i];
					$cobertura->inserirCobertura();
				}
			}
Por algum motivo obscuro, eu não estava conseguindo fazer isso ontem...

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só arrume este if:

if( $_POST['estado'] != '' )

 

Deixe assim:

if( $_POST['estado'][$i] != '' )

 

Isso evita erros se o usuário pular um campo e preencher o seguinte. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Além disso, o primeiro if não faz sentido, pois $_POST['estado'] é um array e não deveria ser comparador com uma string. O certo seria fazer esse if fora do for e usar is_array(). ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza :lol:

Pode colocar resolvido ai =)

vlw Beraldo, eu postei aqui, e depois qndo fui testar fiz o certo.

 

Vlw!

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.