Consulta Jquery com 2 parâmetros e retorno em JSON
Boa tarde. Preciso de uma ajuda, estou tentando carregar um somatório de uma base de dados mysql utilizando jquery.
Esse é o arquivo cadastroretirada.php que tem a tela:
<?php
session_start();
if (!isset($_SESSION['login_session']) && !isset($_SESSION['senha_session']))
{
echo "<script>alert('Para acessar tarefas administrativas use a tela de login!'); window.location=\"../index.html\"</script>";
exit;
}
else
{
$session_login = $_SESSION['login_session'];
$session_senha = $_SESSION['senha_session'];
}
require_once('../config/config.php');
/Nome do Usuário Logado/
$loginusuario = $_SESSION['login_session'];
$sqlusuario = mysql_query("SELECT idusuario,nomeusuario FROM usuarios WHERE loginusuario = '$loginusuario';");
while($resultusuario = mysql_fetch_assoc($sqlusuario))
{
$nomeusuario1 = $resultusuario['nomeusuario'];
$idusuario1 = $resultusuario['idusuario'];
}
?>
<!DOCTYPE html>
<html dir="ltr" lang="en-US"><head><!-- Created by Artisteer v4.1.0.59861 -->
<meta charset="iso-8859-1">
<title>Área Administativa - Cadastro de produtos em uso</title>
<meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
<!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<link rel="stylesheet" href="../style.css" media="screen">
<!--[if lte IE 7]><link rel="stylesheet" href="style.ie7.css" media="screen" /><![endif]-->
<link rel="stylesheet" href="../style.responsive.css" media="all">
<link type="text/css" href="../js/chosen151/chosen.css" rel="stylesheet" />
<link type="text/css" href="../css/smoothness/jquery-ui-1.10.3.custom.css" rel="stylesheet" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<script src="../jquery.js"></script>
<script src="../script.js"></script>
<script src="../script.responsive.js"></script>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="../js/chosen151/chosen.jquery.min.js"></script>
<style>.l9-content .l9-postcontent-0 .layout-item-0 { padding-right: 10px;padding-left: 10px; }
.ie7 .l9-post .l9-layout-cell {border:none !important; padding:0 !important; }
.ie6 .l9-post .l9-layout-cell {border:none !important; padding:0 !important; }
</style>
<script src="../js/jquery.maskMoney.min.js"></script>
<script src="../js/jquery.validate.min.js"></script>
<script>
$(function(){
jQuery.validator.setDefaults({
debug: false,
success: "valid"
});
$("#txtDataCompra").datepicker({
dateFormat: 'dd/mm/yy',
dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'],
dayNamesMin: ['D','S','T','Q','Q','S','S','D'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','---','Sáb'],
monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'],
nextText: 'Próximo',
prevText: 'Anterior'
}).datepicker('setDate', '+0');
$("#formgravaentrada").validate({
debug: false,
ignore: "",
rules:
{
txtDataCompra: {
required: true,
date: true
},
cbxNomeProduto: {
required: true
},
txtQuantidade: {
required: true,
digits: true
},
txtValor: {
required: true,
number: true
},
txtFornecedor: {
required: true
},
txtLote: {
required: true
},
txtNumeroNf: {
required: true
},
},
messages: {
txtDataCompra: {
required: "O campo data é obrigatório!",
date: "Digite uma data válida."
},
cbxNomeProduto: {
required: "Selecione o produto!"
},
txtQuantidade: {
required: "O campo Quantidade é obrigatório!",
digits: "Digite somente números."
},
txtValor: {
required: "O campo Valor é obrigatório!",
number: "Digite somente números."
},
txtFornecedor: {
required: "O campo Fornecedor é obrigatório!"
},
txtLote: {
required: "O campo Lote é obrigatório!"
},
txtNumeroNf: {
required: "O campo Número da Nf é obrigatório!"
},
}
});
});
</script>
<script>
$(function(){
$(".chosen-select").chosen();
$("#txtValor").maskMoney({thousands:'', decimal:'.'});
});
</script>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
$(function(){
$('#cbxNomeProduto').change(function(){
if( $(this).val() ) {
$('#cbxLote').hide();
$('.carregando').show();
$.getJSON('lotes.ajax.php?search=',{idproduto: $(this).val(), ajax: 'true'}, function(j){
var options = '<option value=""></option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].identrada + '">' + j[i].loteproduto + '</option>';
}
$('#cbxLote').html(options).show();
$('.carregando').hide();
});
} else {
$('#cbxLote').html('<option value="">– Escolha um lote –</option>');
}
});
});
</script>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
$(function(){
$('#cbxLote').change(function(){
var loteproduto = $('#cbxLote').val();
var idproduto = $('#cbxNomeProduto').val();
if( $(this).val() ) {
$('#txtQuantidadeDisponivel').hide();
$('.carregando').show();
//alert('#txtIdProduto');
$.getJSON('quantidades.ajax.php?search=',{idproduto: idproduto, loteproduto: loteproduto, ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].quant + '">' + j[i].quant + '</option>';
}
$('#txtQuantidadeDisponivel').html(options).show();
$('.carregando').hide();
});
} else {
$('#txtQuantidadeDisponivel').html('<option value="">– Escolha um lote –</option>');
}
});
});
</script>
</head>
<body>
<div id="l9-main">
<header class="l9-header">
<div class="l9-shapes">
<div class="l9-object1141852890" data-left="0.23%">
<p class="bemvindo">Logado como: <?php echo $nomeusuario1; ?> <a href="sair.php"/>[Sair]</a></p>
</div>
</div>
</header>
<nav class="l9-nav">
<?php include 'menu.html'?>
</nav>
<div class="l9-sheet clearfix">
<div class="l9-layout-wrapper">
<div class="l9-content-layout">
<div class="l9-content-layout-row">
<div class="l9-layout-cell l9-content"><article class="l9-post l9-article">
<h2 class="l9-postheader">Produtos em uso - Cadastrar</h2>
<div class="l9-postcontent l9-postcontent-0 clearfix"><div class="l9-content-layout">
<div class="l9-content-layout-row">
<div class="l9-layout-cell layout-item-0" style="width: 100%" >
<p>Cadastro de produtos em uso</p>
<form action="gravaretirada.php" method="post" id="formgravaentrada">
<table width="100%">
<tr>
<td>Produto</td>
<td>
<select id="cbxNomeProduto" name="cbxNomeProduto" class="chosen-select" data-placeholder="Selecione um produto..." style="width: 244px;" tabindex="1">
<option value=""></option>
<?php
$sql = "SELECT * FROM produtos
ORDER BY descricaoproduto";
$executar = mysql_query($sql) or die (mysql_error());
while($reg = mysql_fetch_array($executar))
{
?>
<option value="<?php echo $reg['idproduto'];?>" <?php if($reg['idproduto'] == $idproduto)echo 'selected="selected"';?>><?php echo $reg['descricaoproduto'] . " - " . $reg['marcaproduto'] ;?>
</option>
<?php
}
?>
</select><label id="cbxNomeProduto-error" class="error" for="cbxNomeProduto"></label>
</td>
<td> </td>
</tr>
<tr>
<td>Lote</td>
<td>
<span class="carregando">Aguarde, carregando...</span>
<select id="cbxLote" name="cbxLote" class="chosen-select22" data-placeholder="Selecione um lote..." style="width: 244px;" tabindex="1">
<option value=""></option>
</select><label id="cbxLote-error" class="error" for="cbxLote"></label>
</td>
<td> </td>
</tr>
<tr>
<td>Quantidade Combo</td>
<td>
<span class="carregando">Aguarde, carregando...</span>
<select id="txtQuantidadeDisponivel" name="txtQuantidadeDisponivel" class="chosen-select22" data-placeholder="Selecione uma quantidade.." style="width: 244px;" tabindex="1">
<option value=""></option>
</select><label id="txtQuantidadeDisponivel-error" class="error" for="txtQuantidadeDisponivel"></label>
</td>
<td> </td>
</tr>
<tr>
<td>Quantidade disponível</td>
<td>
<input name="txtQuantidadeDisponivel2" type="text" class="txtEditar" id="txtQuantidadeDisponivel2"></td>
<td> </td>
</tr>
<tr>
<td width="14%">Quantidade retirada</td>
<td width="83%">
<input name="txtQuantidadeRetirada" type="text" class="txtEditar" id="txtQuantidadeRetirada"></td>
<td width="3%"> </td>
</tr>
<tr>
<td>Setor</td>
<td>
<select id="cbxSetor" name="cbxSetor" class="chosen-select" data-placeholder="Selecione um setor..." style="width: 244px;" tabindex="1">
<option value=""></option>
<?php
$sqlsetor = "SELECT * from setores order by descricaosetor";
$executarsetor = mysql_query($sqlsetor) or die (mysql_error());
while($regsetor = mysql_fetch_array($executarsetor))
{
?>
<option value="<?php echo $regsetor['idsetor'];?>" <?php if($regsetor['idsetor'] == $idsetor)echo 'selected="selected"';?>><?php echo $regsetor['descricaosetor'];?>
</option>
<?php
}
?>
</select><label id="cbxNomeProduto-error" class="error" for="cbxNomeProduto"></label>
</td>
<td> </td>
</tr>
<tr>
<td colspan="2"><hr /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit" class="l9-button" name="btnGravar" id="btnGravar" value="Gravar">
<input type="reset" class="l9-button" name="btnLimpar" id="btnLimpar" value="Limpar">
<input type="button" class="l9-button" name="btnCancelar2" id="btnCancelar2" onclick="window.location.href='produtos.php'"value="Cancelar"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</article></div>
</div>
</div>
</div>
</div>
<p class="l9-page-footer">
<span id="l9-footnote-links">Desenvolvido por <a href="[http://www.l9web.com.br](http://www.l9web.com.br)" target="_blank">L9WEB</a>.</span>
</p>
</div>
</body></html>
Esse é o lotes.ajax.php que carrega os lotes
<?php
header( 'Cache-Control: no-cache' );
header( 'Content-type: application/xml; charset="utf-8"', true );
$con = mysql_connect( 'localhost', 'root', '' ) ;
mysql_select_db( 'sisestoque01', $con );
$idproduto = mysql_real_escape_string( $_REQUEST['idproduto'] );
$lotes = array();
$sql = "SELECT *
FROM entradas
WHERE idproduto=$idproduto
GROUP BY loteproduto
ORDER BY loteproduto";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
$lotes[] = array(
'identrada' => $row['identrada'],
'loteproduto' => $row['loteproduto'],
);
}
echo( json_encode( $lotes ) );
Esse é o quantidades.ajax.php que estou com dificuldade de passar 2 parâmetros para o SQL, que deve me retornar a soma
<?php
header( 'Cache-Control: no-cache' );
header( 'Content-type: application/xml; charset="utf-8"', true );
$con = mysql_connect( 'localhost', 'root', '' ) ;
mysql_select_db( 'sisestoque01', $con );
$loteproduto = mysql_real_escape_string( $_REQUEST['loteproduto'] ); /*$loteproduto =6635544;*/
$idproduto = mysql_real_escape_string( $_REQUEST['idproduto'] ); /*$idproduto = 9;*/
$quantidades = array();
echo $sql = "SELECT SUM(quantidadecomprada) AS TOTAL FROM entradas WHERE loteproduto='$loteproduto' AND idproduto = '$idproduto'";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
$quantidades[] = array(
'quant' => $row['TOTAL'],
);
}
echo( json_encode( $quantidades ) );
Obrigado!
Discussão (9)
Carregando comentários...