Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

alphasil

foreach multiplo

Mensagens Recomendadas

alphasil

Olá

Estou com um problema ao inserir numa tabela relacional um array...

$myArray = explode(',', $id_escola);
	    foreach ($myArray as $id) {
		    print_r($id);
		    $stmt->bindParam(':id_escola', $id, PDO::PARAM_INT);
		    $result = $stmt->execute();
		    $idAtividade = $this->db->lastInsertId();
		    $this->insertByLastId($idAtividade,$id_professor);
		    $this->setDadosEstatisticosAtividades($idAtividade, $id_escola, $dominios);
	    }

Este o array que funciona sem problema, o que me está a dar problema é esta última função

$this->setDadosEstatisticosAtividades($idAtividade, $id_escola, $dominios);

Quero passar o lastInsertId(); e mais duas variaveis para esta função

try{
	    $stmt = $this->db->prepare("INSERT INTO `estatistica_atividades` (`id_atividades`,`id_escola`,`id_dominios`)
								    VALUES(:id_atividades,:id_escola,:id_dominios) ;");
	    $escolas = explode(',', $id_escola);
	    $dominio = explode(',', $dominios);
	    foreach ($escolas as $id) {
		    foreach ($dominio as $ids) {
			    $stmt->bindparam(":id_atividades", $idAtividade);
			    $stmt->bindParam(':id_escola', $id, PDO::PARAM_INT);
			    $stmt->bindParam(':id_dominios', $ids, PDO::PARAM_INT);
			    $result = $stmt->execute();
		    }
		    if (!$result) {
			   print_r($stmt->errorInfo());
		    }
	    }
    }catch (PDOException $e) {
	    echo $e->getMessage();
    }

Só que em vez de me dar 3 registos.....dá-me 9

Exemplo numa tabela que é gravada ao mesmo tempo e dá-me 3

id_prof  id_atividades  avaliacao  path   
-------  -------------  ---------  --------
   364			  1		  0  0	  
   364			  2		  0  0	  
   364			  3		  0  0	

Nesta que me está a dar errado

id_atividades  id_escola  id_dominios 
-------------  ---------  -------------
	    1		  1			  1
	    1		  2			  1
	    1		  3			  1
	    2		  1			  1
	    2		  2			  1
	    2		  3			  1
	    3		  1			  1
	    3		  2			  1
	    3		  3			  1

alguma dica?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

tens 3 foreach ... tens sorte de ser só 9 registos

olha bem : tens 3 actividades, para 3 escolas e 1 domínio = 3 * 3 * 1 = 9

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.