Ir para conteúdo

Arquivado

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

João Paulo Gomes de Oliveira

Array de array no PHP

Recommended Posts

Galra, boa tarde.


Estou com o seguinte problema.

 

Estou construindo uma API e preciso listar mais de 1 valor dentro de uma chave do array.

 

Estou tendo retorno via json, mas so recebo um retorno dentro de uma chave a onde tem mais valores.

 

Segue abaixo mysql e o código em php que estou usando.

 

Não estou conseguindo fazer um loop dentro do array palestrantes, que tem que listar mais de um palestrante.


Alguém consegue me ajudar?

 

<?php 

ini_set('display_errors', true);
error_reporting(E_ALL);

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$atividades = array();
foreach ($data as $atividade => $row) {

	if($row > 0){

		$atividades[] = array(

			'id' 			=> $row['id_atividade'],
			'nome' 			=> $row['nome_atividade'],
			'mediador' 		=> $row['nome_mediador'],
			'tipo' 			=> $row['tipo_atividade'],
			'categoria' 	=> $row['categoria_atividade'],
			'descricao' 	=> $row['descricao_atividade'],
			'qtde_vagas' 	=> $row['qtde_vagas_atividade'],
			'local' 		=> $row['local_atividade'],
			'sala' 			=> $row['sala_atividade'],
			'cep' 			=> $row['cep_atividade'],
			'endereco' 		=> $row['end_atividade'],
			'numero' 		=> $row['num_atividade'],
			'bairro' 		=> $row['bairro_atividade'],
			'cidade' 		=> $row['cidade_atividade'],
			'uf' 			=> $row['uf_atividade'],
			'dia' 			=> $row['dia_atividade'],
			'hora_start' 	=> $row['hora_atividade_start'],
			'hora_end' 		=> $row['hora_atividade_end'],
			'palestrantes' 	=> array(

				array(
					'id' 		=> $row['id_palestrante'],
					'nome' 		=> $row['nome_palestrante'],
					'foto' 		=> $row['foto_palestrante'],
					'empresa' 	=> $row['empresa_palestrante'],
					'cargo' 	=> $row['cargo_palestrante'],
					'biografia' => $row['biografia_palestrante'],
					'linkedin' 	=> $row['linkedin_palestrante'],
					'posicao' 	=> $row['posicao_palestrante']
				)
			)
		);
	}
}

echo json_encode(array('atividades' => $atividades));
 public function lista(){
			global $app;

			$sql = "
				SELECT 
				    rel_palestrante_atividade.id_atividade,
				    atividade.nome_atividade,
				    atividade.nome_mediador,
				    atividade.tipo_atividade,
				    atividade.categoria_atividade,
				    atividade.descricao_atividade,
				    atividade.qtde_vagas_atividade,
				    atividade.local_atividade,
				    atividade.sala_atividade,
				    atividade.cep_atividade,
				    atividade.end_atividade,
				    atividade.num_atividade,
				    atividade.bairro_atividade,
				    atividade.cidade_atividade,
				    atividade.uf_atividade,
				    atividade.dia_atividade,
				    atividade.hora_atividade_start,
				    atividade.hora_atividade_end,
					
					palestrantes.id_palestrante, 
					palestrantes.foto_palestrante, 
					palestrantes.nome_palestrante,
					palestrantes.empresa_palestrante,
					palestrantes.cargo_palestrante,
					palestrantes.biografia_palestrante,
					palestrantes.linkedin_palestrante,
					palestrantes.posicao_palestrante
				FROM 
					rel_palestrante_atividade
				INNER JOIN
				    atividade ON ( rel_palestrante_atividade.id_atividade = atividade.id_atividade )
				INNER JOIN
				    palestrantes ON ( rel_palestrante_atividade.id_palestrante = palestrantes.id_palestrante )
				WHERE
					rel_palestrante_atividade.id_atividade = atividade.id_atividade
				GROUP BY
				    id_atividade
				ORDER BY
				    id_atividade 
				ASC  
			";

			$sth = $this->PDO->prepare($sql);
			$sth->execute();
			$result = $sth->fetchAll(\PDO::FETCH_ASSOC);
			$app->render('atividade.php',["data"=>$result],200); 

		}
{"atividades":[{"id":"1","nome":"Workshop teste sem palestrntes","mediador":"Michel Monteiro","tipo":"Workshop","categoria":"Marketing","descricao":"","qtde_vagas":"4000","local":"Teatro Renault","sala":"Sala 03","cep":"01317-000","endereco":"Avenida Brigadeiro Lu\u00eds Ant\u00f4nio","numero":"411","bairro":"Bela Vista","cidade":"S\u00e3o Paulo","uf":"SP","dia":"2018-03-31","hora_start":"19:00:00","hora_end":"22:00:00","palestrantes":[{"id":"13","nome":"Daniela Costa da Silva","foto":"http:\/\/localhost:8888\/gpevents\/uploads\/Daniela_Costa_da_Silva.jpg","empresa":"Google","cargo":"Head of Sales Partner","biografia":"Teste de cadastro com post via ajax","linkedin":"#","posicao":"50"}]},{"id":"2","nome":"Visita Teste sem palestrante","mediador":"Michel Monteiro","tipo":"Visita","categoria":"Inova\u00e7\u00e3o","descricao":"","qtde_vagas":"1000","local":"teste","sala":"Teste","cep":"02060-000","endereco":"Rua Eug\u00eanio de Freitas","numero":"371","bairro":"Vila Guilherme","cidade":"S\u00e3o Paulo","uf":"SP","dia":"2018-04-28","hora_start":"12:00:00","hora_end":"18:00:00","palestrantes":[{"id":"13","nome":"Daniela Costa da Silva","foto":"http:\/\/localhost:8888\/gpevents\/uploads\/Daniela_Costa_da_Silva.jpg","empresa":"Google","cargo":"Head of Sales Partner","biografia":"Teste de cadastro com post via ajax","linkedin":"#","posicao":"50"}]},{"id":"3","nome":"Mentoria Teste","mediador":"Jo\u00e3o Oliveira","tipo":"Mentoria","categoria":"Neg\u00f3cios","descricao":"","qtde_vagas":"50","local":"Teatro Net","sala":"Sala 03","cep":"01234-001","endereco":"Avenida Pacaembu","numero":"1613","bairro":"Pacaembu","cidade":"S\u00e3o Paulo","uf":"SP","dia":"2018-07-28","hora_start":"09:00:00","hora_end":"11:00:00","palestrantes":[{"id":"8","nome":"ANA JULIA GHIRELLO","foto":"http:\/\/localhost:8888\/gpevents\/uploads\/ANA_JULIA_GHIRELLO.png","empresa":"ABELLHA","cargo":"CEO","biografia":"Fundadora da abeLLha, incubadora de Neg\u00f3cios de Impacto Social. Fundadora do Honeycomb, ferramenta de gest\u00e3o estrat\u00e9gica que cria um ambiente transparente e uma gest\u00e3o que foca nos resultados, sem esquecer das pessoas. Fez parte do time que fundou o bomneg\u00f3cio.com em 2011, onde era vice-presidente, e que se juntou \u00e0 OLX em fevereiro de 2015, onde atuou como COO.","linkedin":"#","posicao":"20"}]},{"id":"4","nome":"Palestra de TEste","mediador":"Michel Monteiro","tipo":"Palestra","categoria":"Neg\u00f3cios","descricao":"","qtde_vagas":"","local":"Casa da Sogra","sala":"Central","cep":"05501-040","endereco":"Rua Desembargador Armando Fairbanks","numero":"310","bairro":"Butant\u00e3","cidade":"S\u00e3o Paulo","uf":"SP","dia":"2018-03-31","hora_start":"12:00:00","hora_end":"14:00:00","palestrantes":[{"id":"11","nome":"Michel Alcoforado Teste","foto":"http:\/\/localhost:8888\/gpevents\/uploads\/Michel_Alcoforado.png","empresa":"Consumoteca","cargo":"ANTROP\u00d3LOGO E S\u00d3CIO FUNDADOR CONSUMOTECA","biografia":"Doutor em Antropologia, Michel Alcoforado se especializou em Antropologia do Consumo pela University of British Columbia, no Canada\u0301, onde trabalhou prestando consultorias para age\u0302ncias especializadas em pesquisa de mercado, comportamento do consumidor e tende\u0302ncias de consumo. No Brasil, fez pesquisas sobre comportamento de consumidor on e off-line, especializou-se em Planejamento Estrate\u0301gico de Comunicac\u0327a\u0303o e trabalhou como estrategista para grandes marcas. E\u0301 po\u0301s-graduado em Comunicaca\u0303o Integrada na ESPM e em Brand Luxury Management na London College of Fashion. Palestrante no Brasil e no Exterior, e\u0301 membro do Instituto Millenium - um dos maiores think tanks brasileiros, colunista da revista Consumidor Moderno e So\u0301cio-diretor da Consumoteca \u2013 uma boutique especializada no consumidor brasileiro. Atualmente, cursa um MBA na Berlin School of Creative Leadership\/ Steinbeis University.","linkedin":"#333333","posicao":"90"}]}]}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

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