Ir para conteúdo

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 Giovanird
      O script abaixo atualiza a página (centro.php) a cada um minuto e dentro desta página terei uma div que não poderá ser atualizada.
      Tentei colocar esta div como pagina com setInterval de 100 minutos porem ao dar o refresh no centro.php  tudo vai junto.  Será que isto é possivel?

      Desde já meu muito obrigado!
      <script> function atualiza(){ var url = 'centro.php'; $.get(url, function(dataReturn) { $('#centro').html(dataReturn); }); } setInterval("atualiza()",60000); </script>  

    • Por ILR master
      Fala pessoal, tudo bem?
       
      Eu tenho um dominio e vários subdomios dentro.
      Quero saber como recuperar um cookie nos subdominios, uma vez que ele foi criado em um subdominio específico.
       
      Estrutura:
      Tô criando o cookie em usuario.dominio.com.br com o seguinte código:
       
      $valor = md5(uniqid(rand(), true));
      setcookie("token", $valor, time() + (60 * 10), "/", "www.dominio.com.br");
       
      Porém, quero recuperar esse valor em todos os outros subdominios, mas esse codigo aí não tá funcionando.
       
      Alguém pode ajudar?
      Valeu
       
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
×

Informação importante

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