Ir para conteúdo
Fórum Script Brasil
  • 0

Como imprimir relacionamentos NxN em uma tabela HTML/bootstrap? (PHP PDO)


shiroyamacah

Pergunta

Oi!

Eu tive que aprender a usar php muito rápido para desenvolver um projeto numa cadeira e cheguei a um ponto que travei total :((((

Como precisei aprender rápido para adaptar, acredito que estou realizando um erro até que bem idiota, mas como não tive tempo de aprender todo o básico para começar a desenvolver preciso saber: como imprimir um relacionamento NxN numa tabela?

Na minha aplicação, na hora de cadastrar um produto, os surfactantes são pegos numa multi seleção e salvos numa tabelo "produto_surfactante" colocando apenas codProd e codSurf.

*Ver imagem anexada*

 

Na imagem eu deixei o nome de marca aparecendo só para não ficar vazio, contudo o objetivo é aparecer todos os nomes (nomeSurf) dos surfactantes que foram salvos, porém eu tentei diversas sugestões e nenhuma delas consegui implementar direito, e por isto preciso de ajuda :x

**tentei usar um produtosurfview para ter todos os nomes fáceis de pegar, mas se tiver uma alternativa melhor sou 10000000000000000000% a favor!

*Código da função que mostra os valores na tabela*

public function dataviewProd($query)
	{
		$stmt = $this->conn->prepare($query);
		$stmt->execute();
	
		if($stmt->rowCount()>0)
		{
			while($row=$stmt->fetch(PDO::FETCH_ASSOC))
			{
				//takes the name of "Marca"
				$codM = $row['codMarca'];
				$stmtM = $this->conn->prepare("SELECT nomeMarca FROM marca WHERE codMarca = :codM;"); 
				$stmtM->execute(array(":codM"=>$codM));
				$nomeMarca = $stmtM->fetch(PDO::FETCH_ASSOC)['nomeMarca'];
				
				////takes the name of "Tipo de produto"
				$codTP = $row['codTipoProd'];
				$stmtTP = $this->conn->prepare("SELECT nomeTipoProd FROM tipodeproduto WHERE codTipoProd = :codTP;"); 
				$stmtTP->execute(array(":codTP"=>$codTP));
				$nomeTipoProd = $stmtTP->fetch(PDO::FETCH_ASSOC)['nomeTipoProd'];

				//this one should take the names of all "surfactantes" separated by ","
				$nomeProd = $row['nomeProd'];
				//$stmtPSV = $this->conn->prepare("SELECT s.nomeSurf
												//FROM produtosurfview psv
												//	INNER JOIN surfactante s
												//		ON psv.Surfactante = s.codSurf
												//WHERE psv.NomeProduto = {$nomeProd};");
				//$stmtPSV->execute(array(":nomeProd"=>$nomeProd));
				//$stmtPSV->setFetchMode(PDO::FETCH_ASSOC);
				//$prodsurf = $stmtPSV->fetch(PDO::FETCH_ASSOC);

								
				?>
                <tr>
                <td><?php print($row['codProd']); ?></td>
                <td><?php print($row['nomeProd']); ?></td>
				<td><?php print($row['tipoCab']); ?></td>
				<td><?php print($nomeMarca); ?></td>
				<td><?php print($nomeTipoProd); ?></td>
				<td><?php print($nomeMarca); ?></td>
                <td align="center">
                <a class='btn btn-warning btn-sm' href="alterarProduto.php?edit_id=<?php print($row['codProd']); ?>" role='button'>
					<span class='glyphicon glyphicon-pencil' aria-hidden='true'></a>
                </td>
                <td align="center">
                <a class='btn btn-danger btn-sm' href="deletarProduto.php?delete_id=<?php print($row['codProd']); ?>" role='button'>
					<span class='glyphicon glyphicon-trash' aria-hidden='true'></span></a>
                </td>
                </tr>
                <?php
			}
		}
		else
		{
			?>
            <tr>
            <td>Nada ainda cadastrado...</td>
            </tr>
            <?php
		}
		
	}

O que ficou como comentário foi um último teste que tentei realizar e acabei deixando parte dele aí.

 

cadastrar.PNG

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...