Advertisement
LucianoCharles2017

tabela html com 3 entidades

Nov 16th, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.44 KB | None | 0 0
  1. <?php
  2. session_start();
  3. ob_start();
  4. require 'config.php';
  5.  
  6. $idUsuario = $_SESSION['idUsuario'];
  7. $sql = "SELECT * FROM usuarios WHERE idUsuario ='$idUsuario'";
  8. $sql = $pdo->query($sql);
  9. if ($sql->rowCount() > 0) {
  10.     $user3 = $sql->fetch();
  11.  
  12. }
  13. $id_OM = $_SESSION['idUsuario'];
  14. $sql = "SELECT * FROM usuarios WHERE id_OM ='$idUsuario'";
  15. $sql = $pdo->query($sql);
  16.  
  17. if ($sql->rowCount() > 0) {
  18.  
  19.     $dado = $sql->fetch();
  20.     $_SESSION['idUsuario'] = $dado['id_OM'];
  21.  
  22. }
  23. $id_OM = $_SESSION['id_OM'];
  24.  
  25.  
  26. if (isset($_SESSION['idUsuario']) && empty($_SESSION['idUsuario']) == false) {
  27.  
  28. } else {
  29.  
  30.     header("Location:login.php");
  31. }
  32.  
  33. require "menu.php";
  34. ?>
  35. <div class="container" >
  36.     <div class="row">
  37.  
  38.  
  39. <?php
  40.  
  41. $produtos_group = "SELECT idProduto,classeProduto FROM produtos GROUP BY classeProduto ORDER BY classeProduto ASC";
  42.  
  43. $produtos_group = $pdo->query($produtos_group);
  44.  
  45.  
  46.  
  47.  
  48.  
  49. $produtos = "SELECT * FROM produtos GROUP BY classeProduto,nomeProduto ORDER BY classeProduto ASC";
  50.  
  51. $produtos = $pdo->query($produtos);
  52.  
  53. $empresas = "SELECT * FROM empresa";
  54.  
  55. $empresas = $pdo->query($empresas);
  56.  
  57. $materiais = "SELECT m.quantidade_produto,m.id_produto,m.idEmpresa
  58.              FROM rel_empresa_materiais AS m
  59.              INNER JOIN empresa AS e ON m.idEmpresa = e.idOM
  60.              INNER JOIN produtos AS p ON m.id_produto = p.idProduto
  61.              AND m.classe_produto = p.classeProduto
  62.              WHERE p.idProduto = m.id_produto";
  63.  
  64. $materiais = $pdo->query($materiais);
  65.  
  66. // var_dump($produtos_group->fetchAll());
  67. // die;
  68.  
  69. $array = [
  70.     'p_group' => $produtos_group->fetchAll(),
  71.     'produtos' => $produtos->fetchAll(),
  72.     'empresas' => $empresas->fetchAll(),
  73.     'materiais' => $materiais->fetchAll()
  74. ];
  75.  
  76.  
  77. $t = null;
  78. /**
  79.  *PRECISO SABER QUAL DOS INDICES TEM MAIS VALUES
  80.  * ASSIM POSSO FAZER O FOR PELO MAIOR VALOR
  81.  */
  82. foreach ($array as $a) {
  83.     $t[] = count($a);
  84. }
  85.  
  86. $total = max($t);
  87. ?>
  88. <?php for ($p_group = 0; $p_group <= count($array['p_group']); $p_group++) { ?>
  89. <table class="table table-striped table-bordered">
  90. <thead>
  91.     <tr>
  92.        
  93. <?php
  94. if (isset($array['p_group'][$p_group]['classeProduto'])) {
  95.  
  96.     echo "<th>Produtos</th>";
  97.     for ($p = 0; $p <= $total; $p++) {
  98.         echo (isset($array['empresas'][$p]['nome_OM'])) ? "<th>{$array['empresas'][$p]['nome_OM']}</th>" : "";
  99.     }
  100.     ?>
  101.    
  102.         <th>Total</th>
  103.     </tr>
  104.     </thead>
  105.     <tbody>
  106.     <?php
  107.     $classeProduto = $array['p_group'][$p_group]['classeProduto'];
  108.     $produtos_where = "SELECT * FROM produtos WHERE classeProduto = '$classeProduto' ";
  109.  
  110.     $produtos_where = $pdo->query($produtos_where);
  111.     $count = $produtos_where->fetchAll();
  112.  
  113.     for ($p = 0; $p <= count($count) - 1; $p++) {
  114.         echo "<tr>";
  115.         echo (isset($count[$p]['nomeProduto'])) ? "<td>{$count[$p]['nomeProduto']}</td>" : "<td></td>";
  116.  
  117.         /**
  118.          * Empresas
  119.          */
  120.  
  121.         for ($e = 0; $e <= count($array['empresas']) - 1; $e++) {
  122.  
  123.             $idEmpresa = $array['empresas'][$e]['idOM'];
  124.             $id_produto = $count[$p]['idProduto'];
  125.             $classe_produto = $count[$p]['classeProduto'];
  126.  
  127.             $qtd = "SELECT quantidade_produto
  128.                          FROM rel_empresa_materiais
  129.                          WHERE idEmpresa = '$idEmpresa'
  130.                          AND id_produto = '$id_produto'
  131.                          AND classe_produto = '$classe_produto' ";
  132.  
  133.             $qtd = $pdo->prepare($qtd);
  134.             $qtd->execute();
  135.             if ($qtd->rowCount() > 0) {
  136.                 echo "<td style='color:red;background-color:yellow;font-weight:bold'>{$qtd->fetch()['quantidade_produto']}</td>";
  137.             } else {
  138.                 echo "<td>0</td>";
  139.             }
  140.  
  141.         }
  142.  
  143.         $total_produto = $count[$p]['idProduto'];
  144.         $total_produto = "SELECT SUM(quantidade_produto) AS total_produto FROM rel_empresa_materiais WHERE id_produto = '$total_produto' ";
  145.  
  146.         $total_produto = $pdo->prepare($total_produto);
  147.         $total_produto->execute();
  148.         if ($total_produto->rowCount() > 0) {
  149.             echo "<td>{$total_produto->fetch()['total_produto']}</td>";
  150.         }
  151.     }
  152.  
  153.     echo "</tr>";
  154.     echo '<tr>';
  155.     echo '<td>Total</td>';
  156.  
  157.     for ($e = 0; $e <= count($array['empresas']) - 1; $e++) {
  158.         $idEmpresa = $array['empresas'][$e]['idOM'];
  159.         $classe_produto = $array['p_group'][$p_group]['classeProduto'];
  160.         $total_empresa = "SELECT SUM(quantidade_produto) AS total
  161.                              FROM rel_empresa_materiais
  162.                              WHERE idEmpresa = '$idEmpresa'
  163.                              AND classe_produto = '$classe_produto' ";
  164.  
  165.         $total_empresa = $pdo->query($total_empresa);
  166.  
  167.         echo "<td>";
  168.         echo $total_empresa->fetch()['total'];
  169.         echo "</td>";
  170.  
  171.         $total_geral_produto = "SELECT SUM(quantidade_produto) AS total_geral_produto
  172.        FROM rel_empresa_materiais
  173.        WHERE classe_produto = '$classe_produto' ";
  174.     }
  175.  
  176.  
  177.     $total_geral_produto = $pdo->prepare($total_geral_produto);
  178.     $total_geral_produto->execute();
  179.  
  180.     if ($total_geral_produto->rowCount() > 0) {
  181.         echo "<td>{$total_geral_produto->fetch()['total_geral_produto']}</td>";
  182.     }
  183.  
  184.     echo '</tr>';
  185.  
  186.     echo '</tbody>';
  187.     echo '</table>';
  188.     ?>
  189. <?php
  190. }
  191. }
  192. die;
  193. ?>
  194.  
  195. <!-- ==================TABELA INTEIRA====================== -->
  196. <table class="table table-striped table-bordered">
  197.     <thead>
  198.         <tr>
  199.             <th>Produtos</th>
  200.             <?php for ($p = 0; $p <= $total; $p++) {
  201.                 echo (isset($array['empresas'][$p]['nome_OM'])) ? "<th>{$array['empresas'][$p]['nome_OM']}</th>" : "";
  202.             }
  203.             ?>
  204.             <th>Total</th>
  205.         </tr>
  206.     </thead>
  207.     <tbody>
  208.         <?php
  209.         for ($p = 0; $p <= $total - 1; $p++) {
  210.             echo "<tr>";
  211.             echo (isset($array['produtos'][$p]['nomeProduto'])) ? "<td>[ {$array['produtos'][$p]['classeProduto']} ] {$array['produtos'][$p]['nomeProduto']}</td>" : "<td></td>";
  212.             for ($e = 0; $e <= count($array['empresas']) - 1; $e++) {
  213.  
  214.                 $idEmpresa = $array['empresas'][$e]['idOM'];
  215.                 $id_produto = $array['produtos'][$p]['idProduto'];
  216.                 $classe_produto = $array['produtos'][$p]['classeProduto'];
  217.  
  218.                 $qtd = "SELECT quantidade_produto
  219.                          FROM rel_empresa_materiais
  220.                          WHERE idEmpresa = '$idEmpresa'
  221.                          AND id_produto = '$id_produto'
  222.                          AND classe_produto = '$classe_produto' ";
  223.  
  224.                 $qtd = $pdo->prepare($qtd);
  225.                 $qtd->execute();
  226.                 if ($qtd->rowCount() > 0) {
  227.                     echo "<td style='color:red;background-color:yellow;font-weight:bold'>{$qtd->fetch()['quantidade_produto']}</td>";
  228.                 } else {
  229.                     echo "<td>0</td>";
  230.                 }
  231.  
  232.             }
  233.  
  234.             $total_produto = $array['produtos'][$p]['idProduto'];
  235.             $total_produto = "SELECT SUM(quantidade_produto) AS total_produto FROM rel_empresa_materiais WHERE id_produto = '$total_produto' ";
  236.  
  237.             $total_produto = $pdo->prepare($total_produto);
  238.             $total_produto->execute();
  239.             if ($total_produto->rowCount() > 0) {
  240.                 echo "<td>{$total_produto->fetch()['total_produto']}</td>";
  241.             }
  242.  
  243.             echo "</tr>";
  244.  
  245.         }
  246.         echo '<tr>';
  247.         echo '<td>Total</td>';
  248.         for ($e = 0; $e <= count($array['empresas']) - 1; $e++) {
  249.             $idEmpresa = $array['empresas'][$e]['idOM'];
  250.             $total = "SELECT SUM(quantidade_produto) AS total FROM rel_empresa_materiais WHERE idEmpresa = '$idEmpresa' ";
  251.  
  252.             $total = $pdo->prepare($total);
  253.             $total->execute();
  254.             if ($total->rowCount() > 0) {
  255.                 echo "<td>{$total->fetch()['total']}</td>";
  256.             } else {
  257.                 echo "<td>0</td>";
  258.             }
  259.  
  260.         }
  261.  
  262.         $total_geral_produto = "SELECT SUM(quantidade_produto) AS total_geral_produto FROM rel_empresa_materiais";
  263.  
  264.         $total_geral_produto = $pdo->prepare($total_geral_produto);
  265.         $total_geral_produto->execute();
  266.         if ($total_geral_produto->rowCount() > 0) {
  267.             echo "<td>{$total_geral_produto->fetch()['total_geral_produto']}</td>";
  268.         }
  269.         echo '</tr>'
  270.         ?>
  271.     </tbody>
  272. </table>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement