Ir para conteúdo

Arquivado

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

montano

[Resolvido] Juntar 2 arrays em 1 novo

Recommended Posts

Boa tarde,

 

Tenho dois arrays e gostaria de juntar eles, ja tentei com array_unshift, array_merge, array_push, e nenhum funcionou para o meu caso.

 

    function relatorio()
    {
		//Venda Inside
		$venda_inside = $this->vendaInside();
		//BackLog
		$backlog_tv = $this->backlogTv();
		//Juntar Array
		//$registros = array_unshift($venda_inside, $backlog_tv);
		//Retornar para Action
		return $registros;
    }
    
    function vendaInside(){
    	$result = $this->query('SELECT cont.n_contrato, cli.nome as cliente, cont.data_agendamento, 
		sit.situacao, cont.data_situacao, cont.comentario, cid.cidade as cidade 
		FROM contrato_tv as cont 
		LEFT JOIN clientes as cli ON (cont.cliente = cli.cod) 
		LEFT JOIN situacoes as sit ON (cont.situacao = sit.cod) 
		LEFT JOIN cidades as cid ON (cid.cod = cli.cidade)' .
  		$this->where);
        $registros = array();
        require_once ('/extranet/model/bean/Relatorios/LogisticaInstalacao.php');
        while ($row = mysqli_fetch_assoc($result))
        {
            $registros[self::$ponteiro] = new LogisticaInstalacao();
            $registros[self::$ponteiro]->setNContrato($row['n_contrato']);
            $registros[self::$ponteiro]->setCliente($row['cliente']);
            $registros[self::$ponteiro]->setServico('Venda Inside');
            $registros[self::$ponteiro]->setDataAgendamento($row['data_agendamento']);
            $registros[self::$ponteiro]->setSituacao($row['situacao']);
            $registros[self::$ponteiro]->setDataSituacao($row['data_situacao']);
            $registros[self::$ponteiro]->setCidade($row['cidade']);
            $registros[self::$ponteiro]->setComentario($row['comentario']);
            self::$ponteiro++;
        }
        return $registros;
    }
    
    function backlogTv(){
    	$result = $this->query('SELECT cont.n_contrato, serv.servico, cli.nome as cliente, cont.data_agendamento, 
		sit.situacao, cont.data_situacao, cont.comentario, cid.cidade as cidade 
		FROM backlog_tv as cont 
		LEFT JOIN clientes as cli ON (cont.cliente = cli.cod) 
		LEFT JOIN situacoes as sit ON (cont.situacao = sit.cod) 
		LEFT JOIN backlog_servicos as serv ON (cont.servico = serv.cod) 
		LEFT JOIN cidades as cid ON (cid.cod = cli.cidade)' .
  		$this->where);
        $registros = array();
        require_once ('/extranet/model/bean/Relatorios/LogisticaInstalacao.php');
        while ($row = mysqli_fetch_assoc($result))
        {
            $registros[self::$ponteiro] = new LogisticaInstalacao();
            $registros[self::$ponteiro]->setNContrato($row['n_contrato']);
            $registros[self::$ponteiro]->setCliente($row['cliente']);
            $registros[self::$ponteiro]->setServico($row['servico']);
            $registros[self::$ponteiro]->setDataAgendamento($row['data_agendamento']);
            $registros[self::$ponteiro]->setSituacao($row['situacao']);
            $registros[self::$ponteiro]->setDataSituacao($row['data_situacao']);
            $registros[self::$ponteiro]->setCidade($row['cidade']);
            $registros[self::$ponteiro]->setComentario($row['comentario']);
            self::$ponteiro++;
        }
        return $registros;
    }

 

ERRO: [04-Nov-2009 15:12:34] PHP Warning: Invalid argument supplied for foreach() in /extranet/template/Relatorios/LogisticaInstalacao.php on line 41

    foreach ($_REQUEST['registros'] as $reg)  // Linha do erro
    {
        echo '<tr>';
        echo '<td>' . $reg->getServico() . '</td>';
        echo '<td>' . $reg->getNcontrato() . '</td>';
        echo '<td>' . $reg->getCliente() . '</td>';
        echo '<td>' . $reg->getDataAgendamento() . '</td>';
        echo '<td>' . $reg->getSituacao() . '</td>';
        echo '<td>' . $reg->getDataSituacao() . '</td>';
	echo '<td>' . $reg->getComentario() . '</td>';
        echo '</tr>';
    }

Botei o codigo todo pois não sei se o problema tambem pode ser pelo array estar guardando objects.

 

obrigado pela força..

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem testei aqui com o array_merge e mesclo correto os dois array..

 

http://codepad.org/d3gja1Mi

 

caso queira ainda criar um array com esses dois arrays (dimencional).. dai eh so atribuir..

 

http://codepad.org/b6KwLgr2

 

valww =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda william,

 

Acabei opitando por fazer um UNION no select juntando os dois em 1 select e 1 function.

 

Obrigado pela ajuda. Caso alguem queira o script do Union soh falar que eu posto.

 

valeu

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.