Ir para conteúdo

POWERED BY:

Arquivado

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

Remazela

PHP - Salvar Múltiplo Registro no MySql

Recommended Posts

Caros amigos

 

Recorro ao auxílio dos amigos referente uma tabela que preciso montar.

 

Preciso montar da seguinte forma:

 

Prod...: PRODUTO X - QUALQUER

      Resp 1: FORNECEDOR Y, valor: R$ 0,00 - Qtde: 000 - Comprar: [   ]

      Resp 2: FORNECEDOR W, valor: R$ 0,00 - Qtde: 000 - Comprar: [   ]

      Resp 3: FORNECEDOR X, valor: R$ 0,00 - Qtde: 000 - Comprar: [   ]

 

Prod...: PRODUTO Y - QUALQUER

      Resp 1: FORNECEDOR W, valor: R$ 0,00 - Qtde: 000 - Comprar: [   ]

      Resp 2: FORNECEDOR X, valor: R$ 0,00 - Qtde: 000 - Comprar: [   ]

      Resp 3: FORNECEDOR Y, valor: R$ 0,00 - Qtde: 000 - Comprar: [   ]

 

Alguém poderia me ajudar de como montar uma tabela parecido com a descrição acima ?

 

Grato,

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos

 

Consegui resolver o problema de Visualizar conforme solicitado acima.

 

Agora fiquei com o seguinte problema, que não estou conseguindo resolver. Conforme imagem anexada, estou usando no INPUT um RADIO para selecionar o ITEM requerido, mas quando clico em um RADIO de ITEM, fica selecionado. 

 

O problema é quando no próximo ITEM que selecionar, desmarca o RADIO do ITEM anterior. Como faço para manter os RADIOS selecionados permanecerem marcados ?

 

O meu código abaixo:

            <div class="box-header">
              <h3 class="box-title">Itens da Cotação</h3>
            </div><!-- /.box-header -->

            <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'];               
            ?>

              <div class="box box-primary">
                <div class="box-header with-border" style="background: #E0F2EC;">
                  <h3 class="box-title">
                    <?php echo '<strong>'.$produtoClie.' - '.$descrProd .'</strong> - Qtde: '.$cotaQtde; ?>
                  </h3> 
                  <div class="box-tools pull-right">
                    <button type="button" class="btn btn-box-tool" data-widget="collapse" >
                      <i class="fa fa-minus" style="font-size:18px;"></i>
                    </button>
                  </div>
                </div>
                <!-- /.box-header -->
                <div class="box-body">
                  <div class="table-responsive">
                    <table class="table no-margin">
                      <thead>
                      <tr>
                        <th><i class="fa fa-shopping-cart" style="font-size:18px;"></i></th>
                        <th>Razão Social</th>
                        <th>ESP</th>
                        <th>Qtde</th>
                        <th>Vr Unit.</th>
                        <th>Vr Total.</th>
                      </tr>
                      </thead>

                      <?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

                        $fornecedor = "$clientes_clienteId"; 
                        
                        //Cálculo para Multiplicar e Somar o Total Geral dos Itens Cotados
                          $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;                   
                              }
                      
                      ?>  

                      <tbody>
                        <tr>
                          <td align="left" width="10" height="10" rowspan="3"><input type="radio" name="r3"
                              class="flat-red"></td>
                          <td align="left" width="200" height="10">
                              <?php echo '<strong>'.$razaoSocial.'</strong>'; ?></td> 
                          <td align="left" width="10" height="10"><?php echo $apres_unid ; ?></td>
                          <td align="left" width="20" height="10"><?php echo $cotaRespQtde; ?></td>
                          <td align="left" width="20" height="10">
                              <?php echo number_format($cotaRespVlrUnit, 2, ",", "."); ?></td>   
                          <td align="left" width="20" height="10">
                              <?php echo number_format($total, 2, ",", "."); ?></td> 
                        </tr> 

                        <tr>
                          <td align="left">
                              <?php  echo 'Fat. Mínimo:<strong> '. $faturaMinimo.'</strong>'; ?></td> 
                          <td align="left" colspan="4">
                              <?php  echo '<strong>Marca: </strong>'. $cotaRespMarca; ?></td>
                        </tr>   
                        <tr>
                          <td align="left" colspan="5">
                              <?php  echo '<strong>Observação: </strong>'. $cotaRespObs; ?></td>
                        </tr>                        
                      </tbody>

                      <?php }//Fecha foreach ?>

                    </table>

                    <div class="box-footer">
                      <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>
                    </div>
                  </div>
                  
                </div>

              </div>          

              <?php } ?>


              <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 -->

 

telaCota.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o comportamento padrão de um RADIO, somente um selecionado. Substitua RADIO por CHECKBOX.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Gabriel Heming disse:

Esse é o comportamento padrão de um RADIO, somente um selecionado. Substitua RADIO por CHECKBOX.

 

Caro amigo

 

Gabriel

 

Fiz a seguinte alteração e até agora, parece que deu certo.

Anterior:

<td align="left" width="10" height="10" rowspan="5">
    <input type="radio" name="cpr" class="flat-red" value="<?php echo $cotaRespId; ?>" />
</td>

 

Troquei por essa:

<td align="left" width="10" height="10" rowspan="5">
    <input type="radio" name="<?php echo $produtoClie; ?>" 
           class="flat-red" value="<?php echo $cotaRespId; ?>" />
</td>

 

Até agora, funcionou.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você apenas mudou o name. Ou seja, criou um "grupo" de radio buttons diferente. Esse grupo só tem um radio button e por si só não faz sentido algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 minutos atrás, Gabriel Heming disse:

Você apenas mudou o name. Ou seja, criou um "grupo" de radio buttons diferente. Esse grupo só tem um radio button e por si só não faz sentido algum.

 

Amigo Gabriel

 

Pensei em usar o CHECKBOX, mas infelizmente um determinado produto pode ter várias ofertas, mas apenas uma escolhida.

 

O checkbox, fica disponível para marcar todas as opções e no meu caso apenas uma é escolhida.

 

Exemplo:

No produto 101 poderá ter várias opções e apenas uma será marcada
No produto 105 poderá ter várias opções e apenas uma será marcada

Quando marco uma opção do produto 105, a opção do produto 101 é desmarcada. ISSO QUE NÃO QUERO QUE OCORRA.

 

Se utilizar um checkbox, após escolher uma opção, como desabilito os demais ?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora sua explicação está fazendo melhor sentido. Veja o seguinte exemplo: https://codepen.io/gabrielheming/pen/erbBBj

 

Separe os radios em grupos. Como você pode não saber a quantidade total de produtos e/ou itens do produto, utilize vetores (no exemplo, eu coloquei como categoria -> produto).

 

Perceba que existe o grupo categoria[1] e categoria[2]. Estes grupos que definem como o RADIO irá se comportar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
49 minutos atrás, Gabriel Heming disse:

Agora sua explicação está fazendo melhor sentido. Veja o seguinte exemplo: https://codepen.io/gabrielheming/pen/erbBBj

 

Separe os radios em grupos. Como você pode não saber a quantidade total de produtos e/ou itens do produto, utilize vetores (no exemplo, eu coloquei como categoria -> produto).

 

Perceba que existe o grupo categoria[1] e categoria[2]. Estes grupos que definem como o RADIO irá se comportar.

 

Amigo Gabriel

 

Grato por se disponibilizar em me auxiliar. Baseado no seu exemplo surgi dúvidas.

 

Por exemplo:

<form>  
  <fieldset>
    <legend>Categoria 1:</legend>    
      <input id="id1" type="radio" name="categoria[1][]" value="1">
      <label for="id1">Produto 1</label>

      <input id="id2" type="radio" name="categoria[1][]" value="2">
      <label for="id2">Produto 2</label>
  </fieldset>
   
  <fieldset>
    <legend>Categoria 2:</legend>
      <input id="id3" type="radio" name="categoria[2][]" value="1">
      <label for="id3">Produto 1</label>

      <input id="id4" type="radio" name="categoria[2][]" value="2">
      <label for="id4">Produto 2</label>
  </fieldset>
</form>

Como os dados vem do MySql, com vários itens, respostas e etc. 

No id do input você usou: id="id1",  id="id2" ... - aqui seria como informaria o 1,2,3,... ? <== não entendi

No name do input você usou: name="categoria[1][ ]" - aqui seria o código do PRODUTO vindo do MySql ?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

IDs no HTML devem ser únicos, não importam de onde venham. O que é feito ali é a ligação entre o label + o input. Ou seja, se você clicar no label irá marcar o input associado. Se você não utiliza label, isso não faz diferença.

 

Quanto a categoria, sim, seria o produto. Se os itens estão agrupados por produto, adicione o id do produto. Basicamente você devem adicionar um valor que agrupe os itens, não importe qual, apenas que seja o mesmo por cada grupo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 horas atrás, Gabriel Heming disse:

IDs no HTML devem ser únicos, não importam de onde venham. O que é feito ali é a ligação entre o label + o input. Ou seja, se você clicar no label irá marcar o input associado. Se você não utiliza label, isso não faz diferença.

 

Quanto a categoria, sim, seria o produto. Se os itens estão agrupados por produto, adicione o id do produto. Basicamente você devem adicionar um valor que agrupe os itens, não importe qual, apenas que seja o mesmo por cada grupo.

 

Caro amigo

 

Gabriel

 

Seguindo sua orientação, consegui atingir o objetivo que pretendia.

Conforme o exemplo que passou:

    <input id="id1" type="radio" name="categoria[1][]" value="1">
    <label for="id1">Produto 1</label>

 

Ficou assim:

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

 

Apenas mais uma dúvida: para desabilitar um RADIO com DuploClick, como deveria ficar o código ?

 

Tentei fazer algo parecido com o código abaixo, mas não consegui.

<script>
	function limparRadios( radiobutton ) {
	//Limpa Radio com Duplo Click
	   for( i = 0; i < document.radioform[radiobutton].length; i++ )		
		   document.radioform[radiobutton][i].checked = false;		
	}	
</script>

<form name="radioform" >
   <br>&nbsp;&nbsp;
	1<input type="radio" name="radiobutton" value="1" onDblClick="limparRadios('radiobutton');" disabled>&nbsp;&nbsp;&nbsp;&nbsp; 
	2<input type="radio" name="radiobutton" value="2" onDblClick="limparRadios('radiobutton');" disabled>&nbsp;&nbsp;&nbsp;&nbsp;
	3<input type="radio" name="radiobutton" value="3" onDblClick="limparRadios('radiobutton');" disabled>&nbsp;&nbsp;&nbsp;&nbsp;
</form>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos.

 

Me perdoa por perturbá-los com minhas dificuldades.

Preciso salvar múltiplo registro no MySql, mas não estou conseguindo.

 

A informação parte de um input='radio', conforme selecionado quais itens deseja, mando fazer um UPDATE na base de dados. Infelizmente isso não está ocorrendo.

 

Nas linhas abaixo passo qual  ITEM respondido que desejo salvar, junto com o ID do registro.

<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>

 

Não sei como seria o caminho [name do input] correto para passar.

 

Aqui gostaria de salvar na Base de Dados.

<?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");
    }
	
	
?>

 

Abaixo o código fonte da rotina que estou usando:

<?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>    

 

Grato,

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

A única coisa errada no código seriam esses disabled, pois, eles desativam o input. No mais o código está funcionando.

https://codepen.io/gabrielheming/pen/deawOZ

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uni ambos os tópicos para ficar mais fácil (é praticamente o mesmo problema em ambos).

 

-----------------------------------------------------------

 

Quando eu lhe passei o script, acredito que eu tenha deixado passar duas coisas (um erro seu e um meu).

 

Primeiro de tudo, mantenha o name o mesmo para todos, apenas mude o ID do seu input. Ou seja, mude isto:

name="<?php echo $produtoClie; ?>[1][]"

para isso:

name="item[<?php echo $produtoClie; ?>][]"

 

Outro ponto, é que eu adicionei colchetes ([]) extras. Ele não se faz necessário para radio buttons, logo, você pode remover os colchetes extras, que ficará assim:

name="item[<?php echo $produtoClie; ?>]"

 

Logo, seu código final deve ficar similar a esse:

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

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

Veja que eu também corrigi o ID e o FOR. Pois, o ID tem que ser único e o FOR deve apontar para o ID.

 

Da forma que está feita agora, você só precisa usar da seguinte forma:

foreach($_POST['item'] as $produtoClie => $value)
{
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo

 

Gabriel

 

peço muitas e muitas vezes desculpa pela minha ignorância, burrice e falta de conhecimento.

 

Infelizmente nunca gravei e alterei múltiplos arquivos em MySql, por isso minha falta de conhecimento.

 

Tentei fazer assim, mas não deu certo, não gravou.

<?php
  //alteraCota.php

  $servidor = "localhost";
  $usuario = "root";
  $senha = "";
  $dbname = "siscotaweb";
  
  //Criar a conexao
  $conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
  
    if(isset($_POST['saveCota'])){
      $idSave = $_POST['cotaRespId'];

      foreach($_POST['item'] as $produtoClie => $value){
    		$db->exec("UPDATE cotacaoResposta set cotaRespStatus='2' where cotaRespId = '$idSave' ");
            $res = mysqli_query($conn, $db);
      }

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

 

 

Por favor, pode me ajuda só nessa parte, dou minha palavra que não irei mais incomodar o amigo nessa parte.

 

Grato,

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ative a exibição de erros. Outro ponto é que você está misturando algumas coisas, essa variável $db não existe no seu código.

 

No mais, deve corrigir apenas o insert/update no banco de dados, veja este artigo: 

http://rberaldo.com.br/como-atualizar-php-mysql-mysqli/

Compartilhar este post


Link para o post
Compartilhar em outros sites
28 minutos atrás, Gabriel Heming disse:

Ative a exibição de erros. Outro ponto é que você está misturando algumas coisas, essa variável $db não existe no seu código.

 

No mais, deve corrigir apenas o insert/update no banco de dados, veja este artigo: 

http://rberaldo.com.br/como-atualizar-php-mysql-mysqli/

 

Caro amigo Gabriel

 

Obrigado por enviar a leitura em anexo, vai me ajudar bastante.

 

Mas infelizmente na parte que estou tentando executar, não achei nada que pudesse me auxiliar.

 

Como o amigo constatou, estou tentando executar algo que para muitos é simples, mas para mim, desculpa a palavra, está sendo um pesadelo tentar resolver.

 

Utilizei o código abaixo para ver se consegui, mas infelizmente nada.

<?php
  //alteraCota.php

  $servidor = "localhost";
  $usuario = "root";
  $senha = "";
  $dbname = "siscotaweb";
  
  //Criar a conexao
  $conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
  
    if(isset($_POST['saveCota'])){
      $idSave = $_POST['cotaRespId'];

      foreach($_POST['item'] as $produtoClie => $value){
    		$db->exec("UPDATE cotacaoResposta set cotaRespStatus='2' where cotaRespId = '$idSave' ");
            $res = mysqli_query($conn, $db);
      }

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

 

Amigo, peço HUMILDEMENTE socorro, ajuda. POR FAVOR.

 

Só falta essa parte para eu entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, nessa linha, você cria a conexão:

$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);

Nessa outra linha, você está criando o update:

$db->exec("UPDATE cotacaoResposta set cotaRespStatus='2' where cotaRespId = '$idSave' ");

Entretanto, a variável $db não existe. É mais provável que você tenha copiado de outro script que funcionava, mas não foi adptado corretamente.

 

Já, na linha seguinte, você utiliza novamente mysqli:

$res = mysqli_query($conn, $db);

O que está errado no seu código é que a query deve ir direto na função mysqli_query, algo assim:

$res = mysqli_query($conn, "UPDATE table....");

E a linha com a variável $db deve ser excluída.

 

Para maiores dúvidas, o artigo explica sobre tudo isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo Gabriel.

 

Muito grato por sua ajuda, conforme sua explicação ficou assim para salvar:

              <?php 
 
                //Salva os Itens Selecionados na Cotação
                  if(isset($_POST['saveCota']) && $_POST['saveCota'] == 'Salvar'){

                      $servidor = "localhost";
                      $usuario = "root";
                      $senha = "";
                      $dbname = "siscotaweb";
                      
                      //Criar a conexao
                      $conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
                      
                        if(isset($_POST['saveCota'])){            

                          foreach($_POST['item'] as $codProdClie => $value){
                            $res = mysqli_query($conn, "UPDATE cotacaoResposta set cotaRespStatus = '2'
                                                         WHERE cotaRespId = '$value' ");
                          }
                        
                        }

                  } //Fim do IF

              ?>   

 

no form ficou assim:

                        <input class="flat-red" type="radio" id="item<?php echo $codProdClie; ?>" 
                               name="item[<?php echo $codProdClie; ?>]" value="<?php echo $cotaRespId; ?>"
                               <?php if($cotaRespStatus=='2'){echo 'checked';}?> />
                       
                        <label for="item<?php echo $codProdClie; ?>" style="font-size:14px; color:#07076B;">
                               <?php echo '<strong> '.$razaoSocial.'</strong>'; ?>
                        </label>
                      

 

Apenas mais uma dúvida: como salvaria junto com o CÓDIGO um campo de comentário, caso o usuário acha necessário:

 

o campos está assim:

                      <fieldset>
                        <div class="col-md-12">
                          <strong>Comentário Sobre a Compra:</strong>
                          <input type="text" name="comenta[]" size="180" class="form-control"
                                 style="width:100%" onkeyup="up(this)" >
                        </div>
                      </fieldset>
                      <hr/> 

 

Como salvaria no banco, conforme sua explicação já passada ?

 

Grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

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