Ir para conteúdo
alissong

Como pegar valor radio para exibir uma consulta no mysql

Recommended Posts

Tenho dois formulários que exibe a consulta de fatura pendente de transferência. Veja o código abaixo:

<?php
// Conectar com banco mysql
//require("verifica.php");
include("conexao/bdinc.php");

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Transferencia de Produtos</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16476"></HEAD>
<script type="text/javascript" src="java/ajaxselectfatura.js"></script>    
<script type="text/javascript">
function mudar(x,y){

x.style.backgroundColor=y;
}
function mostrarFatura(){
  alert('O valor selecionado \u00e9 '+ getRadioValor('n_fatura'));
  
 }
  
 function getRadioValor(name){
  var rads = document.getElementsByName(name);
   
  for(var i = 0; i < rads.length; i++){
   if(rads[i].checked){
    return rads[i].value;
    
   }
   
  }
   
  return null;
 }
 
</script>    
<BODY>
<BR>
<fieldset style="width:900px">
<legend><label>INCLUSAO DAS FATURAS DE PRODUTOS</label></legend>
<FORM name="transferencia" method="POST" action="rel_transferencia.php">
<table  width="100%" cellspacing="1" cellpadding="0" bgcolor="#000000">
<tr>
<td  width="100%" bgcolor="#E1E1E1">
   
   <table border="1" width="100%" cellpadding="0" class="tabela">
     <br> 
     <tr align="center" class="cabecalho">
         <td width="8%"><label><b>Opcao</b></label></td>
         <td width="10%"><label><b>ID</b></label></td>
         <td width="10%"><label><b>Nº. Fatura</b></label></td>
         <td width="10%"><label><b>Cupom</b></label></td>
         <td width="15%"><label><b>Total Fatura</b></label></td>
         <td width="15%"><label><b>Situacao</b></label></td>
         <td width="10%"><label><b>Login</b></label></td>
         <td width="25%"><label><b>Data Inclusao</b></label></td>               
     </tr>    
<?php

// Faz o sql no Banco de dados
 
$sql = "SELECT * FROM transferencia WHERE situacao='PENDENTE' ORDER BY transferencia.n_fatura DESC";

$res = mysqli_query($con,$sql);
$Cor = "";

//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS
$registros = mysqli_num_rows($res);

if($registros > 0){

while ($linha = mysqli_fetch_array($res)){
if ($Cor == "#FFFFFF") $Cor = "#ECF2F8"; else $Cor = "#FFFFFF";
  
echo " <tr bgcolor='" . $Cor . "' onmouseover=\"mudar(this,'#FFE2CC');\" onmouseout=\"mudar(this,'" . $Cor . "');\">";
//echo " <td align ='center'><a href='?rel=rel_pedido_itens&id=$linha[0]'>$linha[0]</a></td>";
echo " <td style='text-align:center;' class='tabela'><input type='radio' name='n_fatura'  id='n_fatura' onchange='mostrarFatura();BuscarDados(this.value)' value='$linha[1]' class='input'></td>";
echo " <td class='tabela'>$linha[0]</td>";
echo " <td style='text-align:right;color:blue' class='tabela'>$linha[1]</td>";
echo " <td align ='center' class='tabela'>$linha[2]</td>";
echo " <td align ='right' class='tabela'>".number_format($linha[3], 2, ',', '.')."</td>";
echo " <td class='tabela'>$linha[4]</td>";
echo " <td class='tabela'>$linha[5]</td>";
echo " <td class='tabela'>$linha[6]</td>";

echo "</tr>";
}//fecha if while
}//fecha if
else {
echo "<b>Não existe(em) fatura(s) para o critério de busca !<b>";

}//fecha else

?>
</table>   
<?php
// Fecha a conexao
mysqli_close($con);
?>
</td>
</tr>
</table>  
</FORM>
</fieldset> 
 <BR>
<fieldset style="width:900px">
        <legend><label> ITENS DA FATURA</label></legend>

<TABLE cellSpacing=0 cellPadding=0 width="100%" >
  <TBODY>
    <TR>
    <TD width="100%">
      <TABLE border=0 width="100%" class="tabela">
        <TBODY>
        <TR>
            <td>
<!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES -->
<div id="Resultado"></div></td>          
         </TR>
         </TBODY></TABLE></TD></TR></TBODY></TABLE></fieldset>

</body>
</html>

O arquivo rel_transferencia.php: Veja o código abaixo:

<?php
#Arquivo de funções *************************************
 include("conexao/bdinc.php");
 

#********************************************************
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Relatorio de Fornecedores</title>
<link rel="stylesheet" type="text/css" href="css/projeto.css">
<script language="javascript" src="java/remove_acento.js"></script>
<script type="text/javascript">
function mudar(x,y){

x.style.backgroundColor=y;
}
//-->
</script>
</head>
<body>
<table  width="100%" cellspacing="1" cellpadding="0" bgcolor="#000000">
<tr>
<td  width="100%" bgcolor="#E1E1E1">
   <form>
   <table border="1" width="100%" cellpadding="0" class="tabela">
     <br> 
     <tr align="center" class="cabecalho">
         <td width="5%"><label><b>N Fatura</b></label></td>
         <td width="10%"><label><b>Cod. Prod.</b></label></td>
         <td width="10%"><label><b>Nome Produto</b></label></td>
         <td width="10%"><label><b>Valor Unitario</b></label></td>
         <td width="10%"><label><b>Quantidade</b></label></td>
         <td width="10%"><label><b>Subtotal</b></label></td>         
     </tr>
<?php

// Pegar a página atual por GET

if (isset($_GET['n_fatura'])){
$nfatura = $_GET['n_fatura'];
} else {
$nfatura = 1;
}

// Seleciona no banco de dados com o LIMIT indicado pelos números acima
$sql = "SELECT mov_saida.n_fatura,mov_saida.cod_produto,produto.descricao,mov_saida.valor_unitario,mov_saida.q_saida,mov_saida.subtotal 
FROM produto,mov_saida,transferencia 
WHERE produto.cod_produto=mov_saida.cod_produto AND mov_saida.n_fatura=transferencia.n_fatura AND mov_saida.n_fatura = '$nfatura'
ORDER BY produto.descricao";

$res = mysqli_query($con,$sql);
$Cor = "";

//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS
$registros = mysqli_num_rows($res);

if($registros > 0){
    
$total_fornecedor = 0;
while ($linha = mysqli_fetch_array($res)){
if ($Cor == "#FFFFFF") $Cor = "#ECF2F8"; else $Cor = "#FFFFFF";
  
echo " <tr bgcolor='" . $Cor . "' onmouseover=\"mudar(this,'#FFE2CC');\" onmouseout=\"mudar(this,'" . $Cor . "');\">";
echo " <td class='tabela'>$linha[0]</td>";
echo " <td style='text-align:right;color:blue' class='tabela'>$linha[1]</td>";
echo " <td align ='center' class='tabela'>$linha[2]</td>";
echo " <td align ='right' class='tabela'>".number_format($linha[3], 2, ',', '.')."</td>";
echo " <td align ='right' class='tabela'>".number_format($linha[4], 2, ',', '.')."</td>";
echo " <td align ='right' class='tabela'>".number_format($linha[5], 2, ',', '.')."</td>";

$total_fornecedor += $linha[5];
echo "</tr>";
}//fecha if while
echo "<tr>";
echo "<td colspan='5'><label><b>Total das Faturas a Transferir</b></label></td>";
echo " <td align ='right' style='text-align:right;color:blue' class='tabela'>".number_format($total_fornecedor, 2, ',', '.')."</td>";
echo "</tr>";
}//fecha if
else {
echo "<b>N&atilde;o existe(em) fatura(s) para transferencia !<b>";

}//fecha else

?>
</table>
<?php
// Fecha a conexao
mysqli_close($con);
?>
</td>
</tr>
</table>
    <p align=right><font face=Arial size=1><a href="indexXXX.php" title="Retornar"><< Retornar</a></p>
</form>
</body>
</html>

O arquivo ajax que faz a consulta dinâmica. Veja o código abaixo:

/**
  * Função para criar um objeto XMLHTTPRequest
  */
 function CriaRequest() {
     try{
         request = new XMLHttpRequest();        
     }catch (IEAtual){
         
         try{
             request = new ActiveXObject("Msxml2.XMLHTTP");       
         }catch(IEAntigo){
         
             try{
                 request = new ActiveXObject("Microsoft.XMLHTTP");          
             }catch(falha){
                 request = false;
             }
         }
     }
     
     if (!request) 
         alert("Seu Navegador não suporta Ajax!");
     else
         return request;
 }
/**
  * Função para enviar os dados
*/
 function BuscarDados() {
     
     // Declaração de Variáveis   		
     var nfatura   = document.getElementById("n_fatura").value;    
     var result    = document.getElementById("Resultado");
     var xmlreq    = CriaRequest();
     
     // Exibi a imagem de progresso
     result.innerHTML = 'AGUARDE PROCESSANDO...';
     
     // Iniciar uma requisição
     xmlreq.open("GET", "rel_transferencia.php?n_fatura=" + nfatura, true);
     
     // Atribui uma função para ser executada sempre que houver uma mudança de ado
     xmlreq.onreadystatechange = function(){
         
         // Verifica se foi concluído com sucesso e a conexão fechada (readyState=4)
         if (xmlreq.readyState == 4) {
             
             // Verifica se o arquivo foi encontrado com sucesso
             if (xmlreq.status == 200) {
                 result.innerHTML = xmlreq.responseText;
             }else{
                 result.innerHTML = "Erro: " + xmlreq.statusText;
             }
         }
     };
     xmlreq.send(null);
 }  

O código está funcionado parcialmente, pois somente exibe a consulta com o primeiro item da tabela transferencia.

Exemplo: 

Clico no radio 193, mas somente exibe a consulta do radio 195. Não esta passando o parâmetro do radio clicado.

echo " <td style='text-align:center;' class='tabela'><input type='radio' name='n_fatura'  id='n_fatura' onchange='mostrarFatura();BuscarDados(this.value)' value='$linha[1]' class='input'></td>";

var nfatura   = document.getElementById("n_fatura").value;  

Na verdade quero saber como fazer para pegar o valor input radio e colocar nessa variável var nfatura que é responsável pela consulta.

 

Alguém pode me ajudar. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se resolve:

var nfatura = "";
var campo_radio = document.getElementsByName('n_fatura');
for (var i=0 ; i< campo_radio.length;i++){
  if ( campo_radio[i].checked ) {
    nfatura = campo_radio[i].value;
  }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted k',

 

Você é o cara. Muito obrigado.................

Funcionou beleza.

 

Um abraço.

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por AbaClar
      function buscar(palabra)
      {
          var page = "php/pesquisa.php"; //página com código php para efectuar a busca
             $.ajax ({
              type: 'POST',
              dataType: 'html',
              url: page,
              data: {palabra: txbusca},
          });
      }
      $("#btbusca").click(function() { //botão de busca
          buscar ($("txbusca").val())   // texto de busca
              return false;
      });
       
      Este código juntamente com "pesquisa.php"  faz a busca numa tabela mysql, não sei se estará totalmente correcta pois fiz algumas alterações, mas cumpre com o estabelecido! (no action do form mostra que funciona) O ficheiro "pesquisa.php", pretende fazer busca em 3 tabelas (div psqCliente, div psqAgregado, div psqProcesso) e pretendo mostrar os resultados nos respectivos "tab's" (tabCliente, tabAgregado, tabProcesso)
      Será que posso obter ajuda, obrigado
    • Por Claudia França
      Prezados preciso terminar um projeto do Visa checkout e, estou com dificuldades no fim dele. Peguei no meio do caminho e como programo a pouco tempo gostaria que me ajudassem. 
      Ao escolher um valor para um transação, eu preciso enviar para o email da empresa e do cliente, as inconformações com dados da transação como valor etc.  Fiz o codico abaixo para empresa receber o valor, mas não funcionou. 
      <!doctype html>
      <html>
      <head>
      <meta charset="UTF-8">
      <title>Documento sem título</title>
      </head>
      <body>
          <pre>
              
          <?php
      function pegaValor($valor) {
          return isset($_POST[$valor]) ? $_POST[$valor] : '';
      }
      function validaEmail($email) {
          return filter_var($email, FILTER_VALIDATE_EMAIL);
      }
      function enviaEmail($de, $assunto, $mensagem, $para, $email_servidor) {
          $headers = "From: $email_servidor\r\n" .
                     "Reply-To: $de\r\n" .
                     "X-Mailer: PHP/" . phpversion() . "\r\n";
          $headers .= "MIME-Version: 1.0\r\n";
          $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
       
        mail($para, $assunto, nl2br($mensagem), $headers);
      }
      $email_servidor = "cjfranca2004@gmail.com";
      $para = "cjfranca2004@gmail.com";
      $de = pegaValor("valor");
      $mensagem = pegaValor("real");
      $mensagem=pegaValor("dolar");
      $name="valor";
      print_r($mensagem);
      print_r($para);
      print_r($valor);
      print_r($mensagem);
      ?>
      </pre>
      </body>
          
      </html>
       
      Não deu certo.  E por fim ainda mostra essa mensagem de erro, ao finalizar a transação.
       
       
      Desde já agradeço todo esforço em me ajudarem.
       
       
       
       

    • Por Dr. Programador
      Boa noite, pessoal!
       
      Estou batendo cabeça com a seguinte situação:
       
      Ao digitar no imput text, o texto aparece em tempo real na tela (funciona perfeitamente).
      Ocorre que, quando eu aciono a ação do form, o texto desaparece da tela.
       
      Gostaria que, ao ser acionado a ação do form, o texto que foi digitado no imput text, permaneça na tela. Tentei usar session no javascript mas não obtive sucesso.
       
       
      Vejam o código abaixo:
      Mostra aqui em tempo real: <span id="digitar"></span> <form action="adicionar.php" method="post"> <input name="email" id="email" value="" type="text" onkeyup="myFunction()"> <input name="submit" type="submit" value="Adicionar E-mail"> </form>     <script language="javascript">     function myFunction()     {         var x = document.getElementById("email").value;         document.getElementById("digitar").innerHTML = x;     }     </script>   
    • Por fcastro143
      Boas pessoal tou aqui com um problema
      Quero fazer uma página simples com um formulário onde a pessoa preencha o formulário e quando carrega em enviar ele tem que executar uma função que basicamente é abrir um link mas quero que esse link no fim tenha os dados introduzidos no formulário.

      Imaginem que a pessoa no formulário escreve: 
      Na primeira caixa - Olá 
      Na segunda caixa - tudo bem 

      Eu queria que ela ao clicar em enviar isso abra um link que normal é por exemplo :
      https://api.telegram.org/bot353417269:AAE83uouL6joVytjTCz_4_w3QS3xV4VTOJQ/sendMessage?
      chat_id=@itgrouptest&text= 

      E no fim desse link depois do = insira o que foi introduzido nas caixas de texto uma em cada linha. 

      Acho que me fiz entender ..

      Agradeço a quem perceber e ajudar .. tenho alguma urgência pessoal 
    • Por thia6o
      Olá.
      Sou novo no forum, gostaria de saber como faço para fazer um upload de imagem com preview e manipulação do mesmo.
      Ex: escolho algumas imagens visualizo, e se selecionei alguma erra eu removo e mando fazer o upload.
      Tenho um código que remover a imagem mais quando faço upload ela ainda e mandada.
       
       
      <!doctype html>
      <html>
      <head>
      <meta charset="utf-8">
      <title>Documento sem título</title>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <style>
      .container-min-foto{
          height: 200px;
          margin: 15px;
          float: left;
      }
      .miniatura{
          height: 160px;
        }
      .removerImg{
          text-align: center;
          color: #FFFFFF;
          background-color: #4900FF;
          display: inline-block;
          cursor: pointer;
          padding: 5px;
      }
      </style>
      </head>
          
      <body>
      <p><button id="rf">Recaregar</button></p>
          <form method="post" enctype="multipart/form-data">
              <input id="files" name="files[]" type="file" multiple>
              <p><button type="submit">Envuiar</button></p>
          </form>
      <div id="preview"></div>
      <script>
      $(function(){
       if (window.File && window.FileList && window.FileReader) {
           $("#files").change(function(evt) {
              var files = evt.target.files,
                  filesLength = files.length;
          for (var i = 0; i < filesLength; i++) {
                  var f = files
              if (!!f.type.match('image.*')) {
                  var fileReader = new FileReader();
                  fileReader.onload = (function(theFile) {
                      return function(e) {                    
                          $("<span class=\"container-min-foto bord-rad-minFoto\">" +
                            "<img class=\"miniatura bord-rad-minFoto\" src=\"" + e.target.result + "\" title=\"" + theFile.name + "\"/>" +
                            "<br/><span class=\"removerImg\">Remover</span>" +
                            "</span>").insertBefore("#preview");
                              // REMOVER IMAGEM PRE VIEW
                          $(".removerImg").click(function(){
                              $(this).parent(".container-min-foto").remove();             
                          });
                      };
                  })(f);
              fileReader.readAsDataURL(f);
              }else{
                  alert("Você selecionou um arquivo que nao é uma imagem")
              }
          }});
        } else {
            alert("Seu navegador não suporta a API de arquivos")
        }
      });
      </script>
      </body>
      </html>
×

Informação importante

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