Como pegar valor radio para exibir uma consulta no mysql
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ã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.Discussão (2)
Carregando comentários...