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 santans
      Desejo saber como crio um gerador PHP de paginas html.
      Por exemplo quando alguém cria um perfil no meu site, o gerador criaria uma pagina no sistema a partir de uma pagina pre molde já feita.
      no caso seria para um e-comerce.
      Outro exemplo quando eu cadastro um produto e é gerada uma pagina para este tal produto.
      Se houver algum sistema mais simples para me indicarem fiquem a vontade.
      Nota: Não sou um programador experiente.
    • Por Mateus Duarte
      Estou com um problema, meu site mostra notificações apenas se for acessado pelo computador. Quando acessado pelo celular, ele pede para ativar as notificações, porem ele não mostra.
       
      Codigo da função:
      (function(global, factory) { "use strict"; if (typeof define === "function" && define.amd) { define(function() { return new(factory(global, global.document)) }) } else if (typeof module !== "undefined" && module.exports) { module.exports = new(factory(global, global.document)) } else { global.Push = new(factory(global, global.document)) } })(typeof window !== "undefined" ? window : this, function(w, d) { var Push = function() { var self = this, isUndefined = function(obj) { return obj === undefined }, isString = function(obj) { return String(obj) === obj }, isFunction = function(obj) { return obj && {}.toString.call(obj) === "[object Function]" }, currentId = 0, incompatibilityErrorMessage = "PushError: push.js is incompatible with browser.", hasPermission = false, notifications = {}, lastWorkerPath = null, closeNotification = function(id) { var errored = false, notification = notifications[id]; if (typeof notification !== "undefined") { if (notification.close) { notification.close() } else if (notification.cancel) { notification.cancel() } else if (w.external && w.external.msIsSiteMode) { w.external.msSiteModeClearIconOverlay() } else { errored = true; throw new Error("Unable to close notification: unknown interface") } if (!errored) { return removeNotification(id) } } return false }, addNotification = function(notification) { var id = currentId; notifications[id] = notification; currentId++; return id }, removeNotification = function(id) { var dict = {}, success = false, key; for (key in notifications) { if (notifications.hasOwnProperty(key)) { if (key != id) { dict[key] = notifications[key] } else { success = true } } } notifications = dict; return success }, createCallback = function(title, options) { var notification, wrapper, id, onClose; options = options || {}; self.lastWorkerPath = options.serviceWorker || "sw.js"; if (w.Notification) { try { notification = new w.Notification(title, { icon: isString(options.icon) || isUndefined(options.icon) ? options.icon : options.icon.x32, body: options.body, tag: options.tag, requireInteraction: options.requireInteraction }) } catch (e) { if (w.navigator) { w.navigator.serviceWorker.register(options.serviceWorker || "sw.js"); w.navigator.serviceWorker.ready.then(function(registration) { registration.showNotification(title, { body: options.body, vibrate: options.vibrate, tag: options.tag, requireInteraction: options.requireInteraction }) }) } } } else if (w.webkitNotifications) { notification = w.webkitNotifications.createNotification(options.icon, title, options.body); notification.show() } else if (navigator.mozNotification) { notification = navigator.mozNotification.createNotification(title, options.body, options.icon); notification.show() } else if (w.external && w.external.msIsSiteMode()) { w.external.msSiteModeClearIconOverlay(); w.external.msSiteModeSetIconOverlay(isString(options.icon) || isUndefined(options.icon) ? options.icon : options.icon.x16, title); w.external.msSiteModeActivate(); notification = {} } else { throw new Error("Unable to create notification: unknown interface") } id = addNotification(notification); wrapper = { get: function() { return notification }, close: function() { closeNotification(id) } }; if (options.timeout) { setTimeout(function() { wrapper.close() }, options.timeout) } if (isFunction(options.onShow)) notification.addEventListener("show", options.onShow); if (isFunction(options.onError)) notification.addEventListener("error", options.onError); if (isFunction(options.onClick)) notification.addEventListener("click", options.onClick); onClose = function() { removeNotification(id); if (isFunction(options.onClose)) { options.onClose.call(this) } }; notification.addEventListener("close", onClose); notification.addEventListener("cancel", onClose); return wrapper }, Permission = { DEFAULT: "default", GRANTED: "granted", DENIED: "denied" }, Permissions = [Permission.GRANTED, Permission.DEFAULT, Permission.DENIED]; self.Permission = Permission; self.Permission.request = function(onGranted, onDenied) { if (!self.isSupported) { throw new Error(incompatibilityErrorMessage) } callback = function(result) { switch (result) { case self.Permission.GRANTED: hasPermission = true; if (onGranted) onGranted(); break; case self.Permission.DENIED: hasPermission = false; if (onDenied) onDenied(); break } }; if (w.Notification && w.Notification.requestPermission) { Notification.requestPermission(callback) } else if (w.webkitNotifications && w.webkitNotifications.checkPermission) { w.webkitNotifications.requestPermission(callback) } else { throw new Error(incompatibilityErrorMessage) } }; self.Permission.has = function() { return hasPermission }; self.Permission.get = function() { var permission; if (!self.isSupported) { throw new Error(incompatibilityErrorMessage) } if (w.Notification && w.Notification.permissionLevel) { permission = w.Notification.permissionLevel } else if (w.webkitNotifications && w.webkitNotifications.checkPermission) { permission = Permissions[w.webkitNotifications.checkPermission()] } else if (w.Notification && w.Notification.permission) { permission = w.Notification.permission } else if (navigator.mozNotification) { permission = Permissions.GRANTED } else if (w.external && w.external.msIsSiteMode() !== undefined) { permission = w.external.msIsSiteMode() ? Permission.GRANTED : Permission.DEFAULT } else { throw new Error(incompatibilityErrorMessage) } return permission }; self.isSupported = function() { var isSupported = false; try { isSupported = !!(w.Notification || w.webkitNotifications || navigator.mozNotification || w.external && w.external.msIsSiteMode() !== undefined) } catch (e) {} return isSupported }(); self.create = function(title, options) { if (!self.isSupported) { throw new Error(incompatibilityErrorMessage) } if (!isString(title)) { throw new Error("PushError: Title of notification must be a string") } if (!self.Permission.has()) { return new Promise(function(resolve, reject) { self.Permission.request(function() { try { resolve(createCallback(title, options)) } catch (e) { reject(e) } }, function() { reject("Permission request declined") }) }) } else { return new Promise(function(resolve, reject) { try { resolve(createCallback(title, options)) } catch (e) { reject(e) } }) } }; self.count = function() { var count = 0, key; for (key in notifications) { count++ } return count }, self.__lastWorkerPath = function() { return self.lastWorkerPath }, self.close = function(tag) { var key; for (key in notifications) { notification = notifications[key]; if (notification.tag === tag) { return closeNotification(key) } } }; self.clear = function() { var i, success = true; for (key in notifications) { var didClose = closeNotification(key); success = success && didClose } return success } }; return Push }); Como faço para mostrar as notificações pelo celular?
    • Por juliosertori
      Olá boa noite, procurei e não encontrei algo relacionado.
       
      Tenho um Input onde vou mostrar valores somados, e tenho outros input que tem os valores. Existe a possibilidade, de após um evento, ele mandar o valor do input de preços, a somar com o valor já existente ao input de total de valores?
    • Por juliosertori
      Olá boa noite galera, tenho um Repeat que incrementa Preço e Quantidade de um produto.
       
      Estou tentando fazer multiplicação do "preço" * "quantidade" de cada linha do Repeat mas ainda não encontrei uma forma de fazer isso, já que os campos são repetidos com IDS iguais.
       
      A única diferença nos campos é que se cria um Array por exemplo, name="preco[0]", assim por diante.
       
      Mas não tem um Looping para eu criar cada script para multiplicação dos campos e acredito que não seja a maneira correta.
       
      Estou fazendo assim o calculo funciona:
       
      $(document).on('keyup', 'input[id="qtdProds"]', function(){ var tr = $(this).closest('#add_item_list'); var qtde = tr.find('input[id="precoProds"]').val(); var qtde = qtde.toString().replace( "R$ ", "" ); var qtde = qtde.toString().replace( ",", "" ); var vlrunt = $(this).val(); if (qtde && vlrunt){ tr.find('input[id="totalProds"]').val(parseFloat(vlrunt) * parseFloat(qtde)); parseFloat(String('123.456').replace(/[^\d\.]/g, "")).toFixed(2); } }); O problema é que assim da "bug" logicamente, pois não está sendo feito para cada linha do repeat, e sim todos campos com mesmo nome.
       
      Alguém tem uma ideia de como posso fazer isso?
       
      Obrigado!
    • Por juliosertori
      Olá boa tarde, eu tenho uma listagem que utilizo com JQuery Repeat, e fora ela adiciono novas linhas através de código de barras que o cliente digita, até ai tudo bem, está funcionando perfeitamente essa parte. Consigo adicionar novas linhas no Repeat tanto pelo próprio Repeat, quanto por um Append externo.
       
      O problema está no Array que é criado para enviar o POST.
       
      Criando por exemplo quando adiciono nova linha pelo Repeat:
       
      <input type="text" value="0" name="produtos_pdv[0][qtd]" class="form-control" /> E então ao adicionar novas linhas pelo Repeat, ele adiciona com "produtos_pdv[1][qtd]".
       
      Mas pelo outro Append, não consigo seguir a mesma ordem do Repeat, então fica bagunçado o Array, tentei utilizar o ID do produto como CHAVE, mas ai o Array se desvincula.
       
      Como posso pegar a ultima chave desse Array que está criando "produtos_pdv" para continuar seguindo a ordem no meu Append?
       
      Obrigado!
×

Informação importante

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