Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
renovo

PHP Erro em Salvar Múltiplo Registro no MySql

Recommended Posts

Caros amigos

 

Estou com um problema que não estou conseguindo resolver. Em um Sistema de Cotação Web em PHP, com MySql que estou escrevendo.

 

O problema é o seguinte:

como tenho uma lista de ITENS com várias resposta de fornecedores, estou utilizando um input='radio', para selecionar qual melhor oferta agrada o usuário.

ficou assim:

<input id="id1" type="radio" name="<?php echo $produtoClie; ?>[1][]" class="flat-red"
       value="<?php echo $cotaRespId; ?>" />

<label for="razSoc" style="font-size:14px; color:#07076B;">
       <?php echo '<strong>&nbsp;'.$razaoSocial.'</strong>'; ?>
</label>

<!--
nessa parte name="<?php echo $produtoClie; ?>[1][]" uso para passar no vetor, qual código do produto
correspondente ao item que está sendo respondido.
-->

 

Não sei se estou passando corretamente o caminho no NAME do INPUT, pois preciso salvar na base de dados, isso não está ocorrendo.

 

POR FAVOR, ME AJUDE.

 

Abaixo o código fonte de como está a minha rotina.

 

aqui uso para salvar:

<?php
  //alteraCota.php

  $host="localhost";
  $user="root";
  $pass="";
  $dbname="siscotaweb";
  
  $db = new PDO("mysql::host=$host;dbname=$dbname",$user,$pass);
  
    if(isset($_POST['saveCota'])){
       $idSave = $_POST['cotaRespId'];

      foreach($idSave as $id){
    		$db->exec("UPDATE cotacaoResposta set cotaRespStatus='2' where cotaRespId = ".$id);
      }

        header("Location:painel.php?exe=admin-cliente/unidade/unidade_lista");
    }
	
	
?>

 

Aqui a rotina que mostra para o usuário:

<?php
    if(!isset($_SESSION)){ 
        session_start(); 
    } 
?>
 
<!-- Include_once Executa a chamada apenas uma única vez -->
<?php include_once("sistema/restrito_cliente.php"); ?>
<?php include_once("sistema/validar_user.php"); ?>

<?php include_once("header.php"); ?>

<?php include_once("menu.php");?>     

  <div class="content-wrapper">

    <section class="content-header">
      <h1>Cotação nº.<?php echo $cotaNumero; ?> em Análise</h1>
      <ol class="breadcrumb">
        <li><a href="painel.php?exe=home/home"><i class="fa fa-dashboard"></i> Home</a></li>
        <li class="active">Cotação em Análise</li>
      </ol>
    </section>

    <!-- Main content -->
    <section class="content">
      <!-- Small boxes (Stat box) -->
      <div class="row">             

        <?php 

        //Variável Passada da Página Anterior
        $cotaNumeroGet = isset($_GET['cotaNumero']) ? $_GET['cotaNumero'] : false;
        $cotaNumero    = isset($_POST['cotaNumero']) ? $_POST['cotaNumero'] : $cotaNumeroGet;       

           $cotaStatus = '2'; 

           //Faço a pesquisa através do código ID
           $sql_pegaProd = 'SELECT * FROM cotacao WHERE cotaNumero = :cotaNumero AND cotaStatus = :cotaStatus';

           try{
             $query_pegaProd = $conecta->prepare($sql_pegaProd);
             $query_pegaProd->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);  
             $query_pegaProd->bindValue(':cotaStatus',$cotaStatus,PDO::PARAM_STR);               
             $query_pegaProd->execute();

             $resultado_pegaProd = $query_pegaProd->fetchAll(PDO::FETCH_ASSOC);

             }catch(PDOexception $error_pegaProd){
                  echo 'Erro ao pegar o Produto'.$error_pegaProd->getMessage();
             }
             
             //Capturo os dados que desejo
             foreach($resultado_pegaProd as $resProd){
                     $cotaId          = $resProd['cotaId'];
                     $cotaNumero      = $resProd['cotaNumero']; 
                     $edCotaDtInicio  = $resProd['cotaDtInicio'];            
                     $edCotaHrsInicio = $resProd['cotaHrsInicio'];                   
                     $edCotaDtFim     = $resProd['cotaDtFim'];  
                     $edCotaHrsFim    = $resProd['cotaHrsFim'];                   
                     $edCotaTitulo    = $resProd['cotaTitulo'];
             }  

        ?>


    <div class="col-md-12">
      <!-- general form elements -->
      <div class="box box-primary">

        <div class="box-header with-border">
          <h3 class="box-title">Título: <?php echo $edCotaTitulo; ?></h3>
        </div>

          <form role="form" name="frm_cota" id="frm_cota" action="" enctype="multipart/form-data" method="POST" >
        
              <div class="box-body">

                <div class="row invoice-info">

                  <div class="col-sm-2 invoice-col">
                    <address>
                      <strong>Data Abertura:</strong><br/>
                       <?php echo date('d-m-Y', strtotime($edCotaDtInicio)); ?>
                    </address>
                  </div>

                  <div class="col-sm-2 invoice-col">
                    <address>
                      <strong>Hora Abertura:</strong><br/>
                        <?php echo $edCotaHrsInicio; date('H:i:s'); ?>
                    </address>
                  </div>        
                  
                  <div class="col-sm-2 invoice-col">
                    <address>
                      <strong>Data de Encerramento:</strong><br/>
                        <?php echo date('d-m-Y', strtotime($edCotaDtFim)); ?>
                    </address>
                  </div>

                  <div class="col-sm-3 invoice-col">
                    <address>
                      <strong>Hora de Encerramento:</strong><br/>
                        <?php echo $edCotaHrsFim; date('H:i:s'); ?>
                    </address>
                  </div>

                  <div class="col-sm-3 invoice-col">
                    <a href="painel.php?exe=admin-cliente/cotacao/cotacao_altDataHrs&cotaNumero=<?php echo $cotaNumero ?>" 
                       type="button" class="btn btn-warning pull-right" style="font-size: 14px;"> Alterar Data e Hora Encerramento</a>
                  </div>
                  
                </div>

              </div>             

          </form>
   

      <div class="col-md-12">          
            
        <div class="box-header"><h3 class="box-title">Itens Cotados</h3></div>

          <form role="form" name="frm_analisar" id="frm_analisar" action="alteraCota.php" enctype="multipart/form-data" method="POST" >            

            <div class="box-body">

              <?php

                  //Traz o Código de Cliente logado
                    $clientes_clienteId = "$userClientes_clienteId";  

                    $sql_pegaAtivos = 'SELECT pro.codProdClie, pro.produtoDescr, pro.apres_unid, 
                                              pro.clientes_clienteId,
                                              cota.cotacao_cotaId, cota.cotaItensId, cota.cotaNumImport,
                                              cota.cotaNumero, cota.codProdClie,cota.cotaQtde, cota.cotaComenta, 
                                              cota.cotaReferencia
                                         FROM cotacaoItens cota
                                   INNER JOIN produto pro ON pro.codProdClie = cota.codProdClie
                                        WHERE pro.clientes_clienteId = :clientes_clienteId 
                                          AND cota.cotaNumero = :cotaNumero                           
                                     ORDER BY cota.cotaItensId ASC';  
                                        
                    try{
                       $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
                       $query_pegaAtivos->bindValue(':clientes_clienteId',$clientes_clienteId,PDO::PARAM_STR);
                       $query_pegaAtivos->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);         
                       $query_pegaAtivos->execute();
                                 
                       $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
                       $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);

                       }catch(PDOexception $error_pegaAtivos){
                              echo 'Erro ao pegar ativos';
                       }
                                 
                        foreach($resultado_pegaAtivos as $resAtivos){
                                $cotacao_cotaId     = $resAtivos['cotacao_cotaId'];             
                                $clientes_clienteId = $resAtivos['clientes_clienteId'];              
                                $cotaItensId        = $resAtivos['cotaItensId'];  
                                $produtoCota        = $resAtivos['codProdClie'];      
                                $cotaNumero         = $resAtivos['cotaNumero'];                    
                                $cotaNumImport      = $resAtivos['cotaNumImport'];
                                $produtoClie        = $resAtivos['codProdClie'];
                                $cotaQtde           = $resAtivos['cotaQtde'];  
                                $cotaComenta        = $resAtivos['cotaComenta'];        
                                $cotaReferencia     = $resAtivos['cotaReferencia'];
                                $descrProd          = $resAtivos['produtoDescr'];
                                $apresProd          = $resAtivos['apres_unid'];   
                               
              ?>

              <fieldset>

                <div class="box-header with-border" style="background: #E0F2EC;">
                  <h3 class="box-title" style="font-size:18px;">
                    <?php echo '<strong>'.$produtoClie.' - '.$descrProd .'</strong> - Qtde: '.$cotaQtde; ?>
                  </h3> 
                </div>
                      <?php
                          //Traz o Código do Produto
                            $codProdClie = $produtoClie;

                            $sql_pegaAtivos = 'SELECT cl.clienteId, cl.razaoSocial, cl.faturaMinimo,
                                                      cr.cotaRespId, cr.cotaRespQtde, cr.cotaRespVlrUnit,
                                                      cr.cotaRespMarca, cr.codProdClie, cr.cotaRespObs, 
                                                      cr.apres_unid, cr.clientes_clienteId,
                                                      cr.cotacaoItens_cotaItensId, cr.cotaNumero, 
                                                      ci.cotaItensId, ci.codProdClie
                                       FROM cotacaoItens ci
                                 INNER JOIN cotacaoResposta cr ON cr.cotacaoItens_cotaItensId = ci.cotaItensId
                                 INNER JOIN clientes AS cl ON cl.clienteId = cr.clientes_clienteId 
                                      WHERE cr.cotaNumero = :cotaNumero
                                        AND cr.codProdClie = :codProdClie
                                   ORDER BY cr.cotaRespVlrUnit ASC ';  
                                                
                            try{
                               $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
                  
                               $query_pegaAtivos->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);         
                               $query_pegaAtivos->bindValue(':codProdClie',$codProdClie,PDO::PARAM_STR);                                
                               $query_pegaAtivos->execute();
                                         
                               $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
                               $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);

                               }catch(PDOexception $error_pegaAtivos){
                                      echo 'Erro ao pegar ativos';
                               }
                                         
                            foreach($resultado_pegaAtivos as $resAtivos){
                                 $cotaNumero         = $resAtivos['cotaNumero'];                    
                                 $faturaMinimo       = $resAtivos['faturaMinimo']; 
                                 $cotaRespId         = $resAtivos['cotaRespId'];     
                                 $cotaRespQtde       = $resAtivos['cotaRespQtde'];     
                                 $cotaRespVlrUnit    = $resAtivos['cotaRespVlrUnit'];
                                 $cotaRespMarca      = $resAtivos['cotaRespMarca'];     
                                 $cotaRespObs        = $resAtivos['cotaRespObs'];
                                 $codProdClie        = $resAtivos['codProdClie'];
                                 $apres_unid         = $resAtivos['apres_unid'];
                                 $clientes_clienteId = $resAtivos['clientes_clienteId']; 
                                 $razaoSocial        = $resAtivos['razaoSocial']; 
                            
                      ?>                 

                      <?php

                        //Cálculo para Multiplicar e Somar o Total Geral dos Itens Cotados
                        $fornecedor = "$clientes_clienteId";                       
                        $vrTotal = '0';//Variável recebe a Soma Total

                          $cnx = mysql_connect("localhost", "root", "");
                          mysql_select_db("siscotaweb", $cnx);
                          $sql = "SELECT cotaRespQtde, cotaRespVlrUnit FROM cotacaoResposta
                                                                      WHERE clientes_clienteId = '$fornecedor' 
                                                                        AND codProdClie = $codProdClie
                                                                        AND cotaNumero = '$cotaNumero' ";
                          $result = mysql_query($sql); //Executa a consulta

                          while($row = mysql_fetch_array($result)){
                                $qtde  = number_format($row['cotaRespQtde']); 
                                $valor = floatval(str_replace(",",".",$row['cotaRespVlrUnit'])); 
                                $total = $qtde * $valor;                   
                          }
                            
                      ?>        


                    <div class="box box-default">                   
                      <br/>

                      <input id="id1" type="radio" name="<?php echo $produtoClie; ?>[1][]" class="flat-red"
                             value="<?php echo $cotaRespId; ?>" />

                      <label for="razSoc" style="font-size:14px; color:#07076B;">
                        <?php echo '<strong>&nbsp;'.$razaoSocial.'</strong>'; ?>
                      </label>
               
                        <div class="box-body">
                        
                          <div class="col-sm-3 invoice-col">
                            <address>
                              Espécie:
                              <strong><?php echo $apres_unid; ?></strong>
                            </address>
                          </div>        
                          
                          <div class="col-sm-3 invoice-col">
                            <address>
                              Quantidade:
                              <strong><?php echo $cotaRespQtde; ?></strong>
                            </address>
                          </div>

                          <div class="col-sm-3 invoice-col">
                            <address>
                              Valor Unitário: R$
                              <strong><?php echo number_format($cotaRespVlrUnit, 2, ",", "."); ?></strong>
                            </address>
                          </div>
                          
                          <div class="col-sm-3 invoice-col">
                            <address>
                              Valor Total: R$
                              <strong><?php echo number_format($total, 2, ",", "."); ?></strong>
                            </address>
                          </div>
                          

                          <?php
                            $fornecedor = "$clientes_clienteId"; 
                            
                            $cnx = mysql_connect("localhost", "root", "");
                            mysql_select_db("siscotaweb", $cnx);
                            $sql = "SELECT faturaValor, faturaPrazoEntrega, desc_pgto 
                                                         FROM fatura
                                                        WHERE clientes_clienteId = '$fornecedor' 
                                                          AND faturaCotaNumero = '$cotaNumero' ";
                            $result = mysql_query($sql); //Executa a consulta

                                while($row = mysql_fetch_array($result)){
                                      $faturaPrazoEntrega = $row['faturaPrazoEntrega'];
                                      $desc_pgto = $row['desc_pgto'];
                                      $valor = floatval(str_replace(",",".",$row['faturaValor'])); 
                                      $res = $valor;                   
                                }  
                           
                            if($res == $valor) { ?>

                              <div class="col-sm-3 invoice-col">
                                <address>
                                  Prazo de Entrega:
                                  <strong><?php echo $faturaPrazoEntrega; ?></strong> Dia(s)
                                </address>
                              </div>        
                              
                              <div class="col-sm-6 invoice-col">
                                <address>
                                  Condição de Pagamento:
                                  <strong><?php echo $desc_pgto; ?></strong>
                                </address>
                              </div>

                            <?php  }  ?> 

                              <div class="col-sm-3 invoice-col">
                                <address>
                                  Faturamento Mínimo: R$
                                  <strong><?php echo $faturaMinimo; ?></strong>
                                </address>
                              </div>                            

                          <div class="col-sm-12 invoice-col">
                            <address>
                              Observação:
                              <strong><?php echo $cotaRespObs; ?></strong>
                            </address>
                          </div>                 

                        </div>               
                      </div>

                    </fieldset>

                    <?php } ?><!-- 2º /.Foreach -->
              
                    <fieldset>
                      <div class="col-md-12">
                        <strong>Comentário Sobre a Compra:</strong>
                        <input type="text" id='comenta' name="comenta" size="180" class="form-control"
                               style="width:100%" onkeyup="up(this)" >
                      </div>
                    </fieldset>
                    <hr/>
            
              <?php } ?><!--1º /.Foreach -->

            </div><!-- /.div box -->


          </form>    

              <div style="text-align: right;">
                <input class="btn btn-primary" type="submit" name="saveCota" id="saveCota" value="Salvar" 
                       title="Voltar a Lista de Cotação." />

                <input type="hidden" name="cotaId" value="<?php echo $cotaId; ?>" /> 
                <input type="hidden" name="cotaRespId" value="<?php echo $cotaRespId; ?>" /> 

              </div>
              <br/>        

      </div>



          <div class="box-body">
            <form id="frm_itensCota" name="frm_itensCota" action="" method="post" enctype="multipart/form-data">
              <div style="text-align: right;">
                <input class="btn btn-danger" type="submit" name="voltar" id="voltar" value="Voltar" 
                       onclick="frm_itensCota.action='painel.php?exe=admin-cliente/cotacao/cotacao_lista'; frm_itensCota.submit()" title="Voltar a Lista de Cotação." />

                <input type="hidden" name="cotaId" value="<?php echo $cotaId; ?>" /> 

              </div>
            </form>  
          </div><!-- /.box button -->

          </div><!-- / 1ª. box -->

        </div><!-- /.col -->
            

  </div><!-- fim da row -->
  
 </section>
  

</div>

     
<?php include_once("footer.php");?>

<!--Script para Validar o Formulário -->
<script language="JavaScript" >

    function up(lstr){              //converte minusculas em maiusculas
      var str=lstr.value;           //obtem o valor
      lstr.value=str.toUpperCase(); //converte as strings e retorna ao campo
    }

    //Flat red color scheme for iCheck
    $('input[type="checkbox"].flat-red, input[type="radio"].flat-red').iCheck({
      checkboxClass: 'icheckbox_flat-green',
      radioClass   : 'iradio_flat-green'
    })    

</script>    

 

Por favor, alguém me ajuda entender onde estou errando.

 

Grato,

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×