Ir para conteúdo
Fórum Script Brasil

Manoel Vitor Alegre Silva

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Posts postados por Manoel Vitor Alegre Silva

  1. Bom dia Pessoal. Estou com problema ao exportar minha pagina php para o excel. Os dados saem desconfigurados mesmo configurando para UTF8.

    segue meu códigos abaixo.

    o arquivo que exibe os dados 

    <?php
    require_once('db.php');
    $slq = "SELECT * FROM tbl_itens_smo INNER JOIN tbl_itens ON(tbl_itens_smo.id_produto = tbl_itens.id) WHERE cp = 0 ORDER BY cp ASC";
    $stmt = mysqli_query($conn, $slq);
    $data = [];
    $i = 0;
    while($row = mysqli_fetch_assoc($stmt)){
        $data[$i]['ticket'] = $row['ticket'];
        $data[$i]['item'] = $row['item'];
        $data[$i]['comprar'] = $row['quantidade']-$row['cd_qnt'];
        $data[$i]['unidade'] = $row['unidade'];
        $data[$i]['grupo'] = $row['grupo'];
        $i++;
    }
    require_once('Export.php');
    $export = new Export();
    
    if(isset($_GET['export']) && $_GET['export'] == 'excel'){
        $export->excel('Itens para Compra', $_GET['fileName'], $data);
    }
    ?>
    <!DOCTYPE html>
    <html lang="pt-BR">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <title>Suprimentos</title>
            <!-- Compiled and minified CSS -->
            <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
       <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
       <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
       <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
        </head>
        <body>
    
        <div class="container">
            <div class="row">
                <h3>Itens a serem comprados </h3>
            </div>
            <div class="row">
                <p><a href="?export=excel&&fileName=Relatorio">
                <buttom class="btn btn-success">Exportar</buttom>
                </a></p>
                <p></p>
           
            </div>
            <div class="row">
                <table class="table">
                    <thead>
                        <tr>
                            <th>Ticket</th>
                            <th>Produto</th>
                            <th>Quantidade</th>
                            <th>Unidade</th>
                            <th>Grupo</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach($data as $row): ?>
                            <tr>
                                <td><?php echo $row['ticket'];  ?></td>
                                <td><?php echo $row['item'];  ?></td>
                                <td><?php echo $row['comprar'];  ?></td>
                                <td><?php echo $row['unidade'];  ?></td>
                                <td><?php echo $row['grupo'];  ?></td>
                                
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        </div>
    
       
        </body>
    </html>

    e este é o arquivo que exporta para o excel.

    <?php
    
    class Export{
    
        public function excel($name, $fileName, $data){
            // nome do arquivo
            $fileName = $fileName . '.xls';
            // Abrindo tag tabela e criando título da tabela
            $html = '';
            $html .= '<table border="1">';
            $html .= '<tr>';
            $html .= '<th colspan="' . count($data) . '">' . $name . '</th>';
            $html .= '</tr>';
            // criando cabeçalho
            $html .= '<tr>';
            foreach ($data[0] as $k => $v){
                $html .= '<th>' . ucfirst($k) . '</th>';
            }
            $html .= '</tr>';
            // criando o conteúdo da tabela
            for($i=0; $i < count($data); $i++){
                $html .= '<tr>';
                foreach ($data[$i] as $k => $v){
                    $html .= '<td>' . $v . '</td>';
                }
                $html .= '</tr>';
            }
            $html .= '</table>';
    
            // configurando header para download
            header("Content-Description: PHP Generated Data");
            header("Content-Type: application/x-msexcel");
            header("Content-Disposition: attachment; filename=\"{$fileName}\"");
            header("Expires: 0");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            header("Pragma: no-cache");
            // envio conteúdo
            echo $html;
            exit;
        }
    
        public function xml($data){
    
        }
    }
    ?>

    Veja como exporta.

    exemplo de como sai os dados com acentos -> 

    FERRO REDONDO MECÂNICO 1/2"

     

  2. Olá pessoal estou com uma dificuldade em meu código de carrinho de compras. Recebo os produtos adiciono a quantidade e mais algumas informações como data desejada para entrega. Mas quando mando salvar ele salva somente os dados de um item o primeiro alguém poderia me ajudar? Creio que tenho que fazer um array e colocar Índice mas não sei como fazer.

    <?php
          session_start();
    	  if (empty($_SESSION['id'])){
    		
    		header('location:formLogon.php');
    	   	
    	}
    	  
    
           
          if(!isset($_SESSION['carrinho'])){
             $_SESSION['carrinho'] = array();
          }
           
          //adiciona produto
           
          if(isset($_GET['acao'])){
              
             //ADICIONAR CARRINHO
             if($_GET['acao'] == 'add'){
                $id = intval($_GET['id']);
                if(!isset($_SESSION['carrinho'][$id])){
                   $_SESSION['carrinho'][$id] = 1;            
                }
             }
              
             //REMOVER CARRINHO
             if($_GET['acao'] == 'del'){
                $id = intval($_GET['id']);
                if(isset($_SESSION['carrinho'][$id])){
                   unset($_SESSION['carrinho'][$id]);
                }
             }
              
             //ALTERAR QUANTIDADE
             if($_GET['acao'] == 'up'){
                if(is_array($_POST['prod'])){
                   foreach($_POST['prod'] as $id => $qtd){
                      $id  = intval($id);
                      $qtd = intval($qtd);
                      if(!empty($qtd) || $qtd <> 0){
                         $_SESSION['carrinho'][$id] = $qtd;
                      }else{
                         unset($_SESSION['carrinho'][$id]);
                      }
                   }
                }
             }
           
          }
           
           
    ?>
    
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    
    <!-- Tema opcional -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    
    <!-- Última versão JavaScript compilada e minificada -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
    <title>Itens</title>
    	
    </head>
    
    <body>
    	<?php
    	include 'nav.php';
    	include 'cabecalho.html';
    	?>
    <form action="carrinho.php" method="post">
      
      <table >
        <tr>
            <input type="hidden" name="status" value="ATIVA">
            <input type="hidden" name="cp" value="0">
          </tr>    
      </table>
      
      <?php
    require("config.php");
    date_default_timezone_set('America/Cuiaba');
    if (isset($_POST['salvar'])){
    $ticket = uniqid();
    $id_user = $_SESSION['id'];
    $status = $_POST['status'];
    $data = date('Y-m-d');
    $hora = date('H:i');
    $cp = $_POST['cp'];
    $atividade = $_POST['atividade'];
    $data_obra = $_POST['data_obra'];
    $quantidade	= $_POST['quantidade'];
    	
    
    $con = @mysql_pconnect("localhost", "root", "");
    $bd = @mysql_select_db('supri', $con) or die("Erro ao acessar o banco!");
    
    $comando = "insert into tbl_smo (ticket, solicitante, data, hora, status) VALUES ('$ticket', '$id_user', '$data', '$hora', '$status')";
    	
    		foreach($_SESSION['carrinho'] as $ProdInsert => $qtd):
    			   
    			
    						   $SqlInserirItens = mysql_query("INSERT INTO tbl_itens_smo (ticket, id_produto,  quantidade, data_obra, atividade, cp) VALUES('$ticket', '$ProdInsert', '$quantidade', '$data_obra', '$atividade', '$cp')");
    						
    			   endforeach;	 
    			   
    			
    mysql_query($comando) or die(mysql_error());
    	                                
    
    }
    	  
    ?>
    <div class="container-fluid">
      <table class="table">
        <caption>
          <br>
          </caption>
        <thead>
          <tr >
            <th width="722">Itens</th>
            <th width="95" >Quantidade</th>
            <th width="74" >Unidade</th>
            <th width="205" style="text-align: center" >Prazo da Obra</th>
            <th width="428" style="text-align: center">Serviço/Tarefa a Executar</th>
            <th width="133" style="text-align: center">Remover</th>
            </tr>
          </thead>
        
        <tfoot>
          <tr>
            <td colspan="5"><a href="novaSmo.php" style="font-family: Segoe, 'Segoe UI', 'DejaVu Sans', 'Trebuchet MS', Verdana, sans-serif">Continuar adicionando...</a></td>
          </tfoot>
        
        <tbody>
          <?php
    		
    		                
                         if(count($_SESSION['carrinho']) == 0){
                            echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>';
                         }else{
                            require("config.php");
    						 
    						 
    						
                                                                   $total = 0;
                            foreach($_SESSION['carrinho'] as $id => $qtd){
    							 
                                  $sql   = "SELECT *  FROM tbl_itens WHERE id= '$id'";
                                  $qr    = mysql_query($sql) or die(mysql_error());
                                  $ln    = mysql_fetch_assoc($qr);
                                   
                                  $descricao  = $ln['item'];
                                  $unidade = $ln['unidade'];                                                     
                                  
                                
                               echo '<tr bgcolor="#DDEEF1">       
                                     <td>'.$descricao.'</td>
                                     <td><input type="text" size="3" name="quantidade" value="'.$qtd.'" /></td>
                                     <td>'.$unidade.'</td>
    								 <td style="text-align: center"><input type="date" size="10" name="data_obra" /></td>
    								 <td style="text-align: center"><input type="text" size="40" name="atividade" /></td>
                                     <td style="text-align: center"><a href="?acao=del&id='.$id.'">Remove</a></td>
                                  </tr>';
                            }
                             
                              
                         }
    					 
                   ?>
          
          
          
          
          
          
          
          
          
          
          </tbody>
        
        
        
      </table>
    
      <p>
        <input class="btn btn-danger" type="submit" name="salvar" value="Salvar"/>
        <input class="btn btn-success" name="submit" type="submit" id="submit" formaction="fim.php" value="Concluir">
      </p>
      
    </form>
    </div>
    </body>
    </html>

     

  3. Boa Tarde Leonardo.

    Não consegui cara sei que meu erro provavelmente é infantil mas é que é meu primeiro projeto que não utilizo o Dreamweaver pois quero aprender fazendo da forma limpa sem códigos sujos e coisas que não usa .

    meu mostracarrinho.php ficou assim

    <div class="container-fluid">
        
        <div class="row text-center" style="margin-top: 15px;">
            <h1>Nova SMO</h1>
        </div>
        
        
        <?php
        
        $total = null;
        foreach ($_SESSION['carrinho'] as $id=>$qnt)  {
        $consulta = $conexao->query("SELECT * FROM tbl_itens WHERE id='$id'");
        $exibe = $consulta->fetch(PDO::FETCH_ASSOC);
        $apelido = $exibe['apelido'];
        $item = $exibe['item'];
        $unidade = $exibe['unidade'];
            
            
        
        
        ?>
        
        <table class="table" >
      <tbody>   
        <tr>
          <div class="col-sm-1"        
          <td><?php echo $apelido; ?></td>
          </div>
          <div class="col-sm-3"    
          <td><?php echo $item; ?></td>
          </div>
          <div class="col-sm-1"
          <td><input type="number" class="form-control" name="qnt[<?php echo $id; ?>][quantidade]"></td>  
          </div>
          <div class="col-sm-1"
          <td><?php echo $unidade; ?></td>
          </div>
         <form method="post">
          <div class="col-sm-2"
               <td><input type="date" class="form-control" name="itens[<?php echo $id; ?>][data_obra]"> </td>
          </div>
          <div class="col-sm-3"
          <td><input type="text" class="form-control" name="itens[<?php echo $id; ?>][atividade]"></td>  
          </div>
          <div class="col-sm-1"
          <td><a href="removeCarrinho.php?id=<?php echo $id;?>">    
            <button class="btn btn-lg btn-block btn-danger">
            <span class="glyphicon glyphicon-remove"></span>        
            </button>
            </a></td>
          </div>
        </tr>
    </form>
      </tbody>
    </table>
        <?php } ?>

    e o finalizar assim

     

    <?php

    session_start();

    include 'conexao.php';


    $data = date('Y-m-d');
    $ticket = uniqid();
    $id_user = $_SESSION['id'];
    $quantidade = $_POST["qnt"];
    $dataObra = $_POST['data_obra'];
    $atividade = $_POST['atividade'];

    foreach ($_SESSION['carrinho'] as $id => $qnt)  {
        $consulta = $conexao->query("SELECT * FROM tbl_itens WHERE id='$id'");
        $exibe = $consulta->fetch(PDO::FETCH_ASSOC);
        $unidade = $exibe['unidade'];
        
        
        
        $inserir = $conexao->query("INSERT INTO tbl_smo (ticket, id_solicitante, id_item, quantidade, unidade, data_obra, atividade, data) VALUES
        ('$ticket','$id_user','$id', '$quantidade', '$unidade', '$dataObra', '$atividade', '$data')");
        
        var_dump($inserir);
    }

    include 'fim.php';


    ?>

    ele ve retorna os seguintes erros e o vardump assim.

    Notice: Undefined index: qnt in C:\xampp\htdocs\supri\finalizarCompra.php on line 11

    Notice: Undefined index: data_obra in C:\xampp\htdocs\supri\finalizarCompra.php on line 12

    Notice: Undefined index: atividade in C:\xampp\htdocs\supri\finalizarCompra.php on line 13
    object(PDOStatement)#3 (1) { ["queryString"]=> string(170) "INSERT INTO tbl_smo (ticket, id_solicitante, id_item, quantidade, unidade, data_obra, atividade, data) VALUES ('5bbe4a875fcf8','1','1', '', 'UND', '', '', '2018-10-10')" }

  4. pois é ai é que é minha duvida.

    Eu gostaria que o usuário digitasse tanto a data quanto a quantidade pois para cada item é um prazo de entrega diferente então se ele pude-se digitar seria melhor e ai a quantidade que ele precisa pois tem itens que ele solicita 1000 ai não vira ele clica 1000X ate add a quantidade que ele quer.

    Aonde coloco essas entradas e como as faço receber os dados? está é a minha grande duvida.

    Desde já agradeço a atenção.

  5. Olá Pessoal.

    Estou trabalhando em um projeto para empresa que trabalho para solicitaçoes de materiais que nada mais é um carrinho de compras 

    a minha dificuldade é que a apos adicionar os itens ao carrinho eu preciso adicionar a quantidade manualmente e a data requerida para entrega. 

    mas não sei como fazer isso adicionar eu consigo gerar a compra com as informações que vem da loja mas não consigo add esses dois itens para finalizar.

    Arquivo da loja.

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <!-- Última versão CSS compilada e minificada -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

    <!-- Tema opcional -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

    <!-- Última versão JavaScript compilada e minificada -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
        
    <title>Suprimentos</title>
    </head>

    <body>
    <?php
        session_start();
        if (empty($_SESSION['id'])){
            
            header('location:formLogon.php');
            
        }
        include 'conexao.php';
        include 'nav.php';
        include 'cabecalho.html';
        
        $consulta = $conexao->query('SELECT * FROM tbl_itens');
        
    ?>    
    <div class="container-fluid">
        <div class="row">
        
    <table class="table" width="200" >
        <tbody>
        <tr>
          <td>Apelido</td>
          <td>Item</td>
          <td>Unidade</td>
          <td>&nbsp;</td>
        </tr>    
        <?php
            while ($exibir=$consulta->fetch(PDO::FETCH_ASSOC)){    
        ?>  
        <tr>
            <td><?php echo $exibir['apelido'];?></td>
              <td><?php echo $exibir['item'];?></td>
              <td><?php echo $exibir['unidade'];?></td>
              <td>        
            <div class="text center">            
                <button  type="button" class="btn btn-info"><span class="glyphicon glyphicon-zoom-in"></span></button>        
            </td>
            <td>        
            <div class="text center">
                <a href="carrinho.php?id=<?php echo $exibir['id'];?>">
                <button  type="button" class="btn btn-success"><span class="glyphicon glyphicon-ok"></span></button>        
                </a>
            </td>    
        </tr>
        <?php
            }
        ?>        
        </tbody>
    </table>

        
        </div>
        </div>
    <?php include 'rodape.html' ?>    
    </body>
        
    </html>

     

    carrinho.php

    <!doctype html>

    <html lang="pt-br">
    <head>
    <meta charset="utf-8">
    <title>Suprimentos</title>
        
        <meta name="viewport" content="width=device-width, initial-scale=1">
        
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <!-- jQuery library -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

        <!-- Latest compiled JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        
        <style>
        
        .navbar{
            margin-bottom: 0;
        }
        
        
        </style>
        
        
        
    </head>

    <body>    
        
        <?php
        
        session_start();
        
        if (empty($_SESSION['id'])){
            
            header('location:formLogon.php');
            
        }

        
        include 'conexao.php';    
        include 'nav.php';
        include 'cabecalho.html';
        
        
        if (!empty($_GET['id'])) {
        
        $id_prod=$_GET['id'];
        
        
        if (!isset($_SESSION['carrinho'])) {
              $_SESSION['carrinho'] = array();
        }


        

        if (!isset($_SESSION['carrinho'][$id_prod])) {

            $_SESSION['carrinho'][$id_prod]=1;
        }
        
        else {
              $_SESSION['carrinho'][$id_prod]+=1;

        }
            
            include 'mostraCarrinho.php';
            
        } else {
            
            
            
            include 'mostraCarrinho.php';
            
            
        }    
        
        ?>
        
        
        
        
        
        <div class="row text-center" style="margin-top: 15px;">
            <a href="novaSmo.php"><button class="btn btn-lg btn-primary">Continuar solicitando</button></a>
            <a href="finalizarCompra.php"><button class="btn btn-lg btn-success">Finalizar SMO</button></a>
        </div>

        
    </div>
        
        
        <?php
        
        include 'rodape.html';
        
        ?>
        
    </body>
    </html>

    mostra carrinho.php

    <div class="container-fluid">
        
        <div class="row text-center" style="margin-top: 15px;">
            <h1>Nova SMO</h1>
        </div>
        
        
        <?php
        
        $total = null;
        foreach ($_SESSION['carrinho'] as $id => $qnt)  {
        $consulta = $conexao->query("SELECT * FROM tbl_itens WHERE id='$id'");
        $exibe = $consulta->fetch(PDO::FETCH_ASSOC);
        $apelido = $exibe['apelido'];
        $item = $exibe['item'];
        $unidade = $exibe['unidade'];
            
            
        
        
        ?>
        
        <table class="table" >
      <tbody>
        <form method="post" action="finalizarCompra.php">    
        <tr>
          <div class="col-sm-1"        
          <td><?php echo $apelido; ?></td>
          </div>
          <div class="col-sm-3"    
          <td><?php echo $item; ?></td>
          </div>
          <div class="col-sm-1"
          <td><input type="text" class="form-control" name="qnt" value="<?php echo $qnt; ?> "></td>  
          </div>
          <div class="col-sm-1"
          <td><?php echo $unidade; ?></td>
          </div>
         <form method="post">
          <div class="col-sm-2"
               <td><input type="text" class="form-control" name="data_obra" placeholder="dd/mm/aaaa"> </td>
          </div>
    </form>
          <div class="col-sm-3"
          <td><input type="text" class="form-control" name="atividade" placeholder="Serviço/Tarefa"></td>  
          </div>
          <div class="col-sm-1"
          <td><a href="removeCarrinho.php?id=<?php echo $id;?>">    
            <button class="btn btn-lg btn-block btn-danger">
            <span class="glyphicon glyphicon-remove"></span>        
            </button>
            </a></td>
          </div>
        </tr>
    </form>
      </tbody>
    </table>
        <?php } ?>

    finaliza.php

    <?php

    session_start();

    include 'conexao.php';


    $data = date('Y-m-d');
    $ticket = uniqid();
    $id_user = $_SESSION['id'];
    $dataObra = $_SESSION['dataObra'];


    foreach ($_SESSION['carrinho'] as $id => $qnt)  {
        $consulta = $conexao->query("SELECT * FROM tbl_itens WHERE id='$id'");
        $exibe = $consulta->fetch(PDO::FETCH_ASSOC);
        $unidade = $exibe['unidade'];
        
        
        
        $inserir = $conexao->query("INSERT INTO tbl_smo (ticket, id_solicitante, id_item, quantidade, unidade, data_obra, data) VALUES
        ('$ticket','$id_user','$id', '$qnt', '$unidade', '$dataObra', '$data')");
        
    }

    include 'fim.php';


    ?>

×
×
  • Criar Novo...