Fórum WebTuga
Tecnologia => Programação => Tópico iniciado por: hfca em Fevereiro 16, 2009, 11:57:43 am
-
precisava de uma ajuda pra fazer um codigo sql que consiste em tenho uma tabela com um campo com valor (INT). o que precisava era de fazer um select a base de dados, selecionar os registos da tabela que quero e fazer a soma desses Campus e apresentar o resultado final.
código já feito até ao momento:
mysql_select_db("consumiveis", $con);
$mes = addslashes(trim($_POST["consumiveis"]));
$ano = addslashes(trim($_POST["ano"]));
$query = mysql_query("SELECT quantidade FROM dados WHERE consumiveis = '$consumiveis' AND ano = '$ano'" );
while ($registo = mysql_fetch_array($query)){
$quantidade = $registo["quantidade"];
$consumiveis = $registo["consumiveis"];
$ano = $registo["ano"];
-
[quote name=\'hfca]precisava de uma ajuda pra fazer um codigo sql que consiste em tenho uma tabela com um campo com valor (INT). o que precisava era de fazer um select a base de dados\' date=\' selecionar os registos da tabela que quero e fazer a soma desses Campus e apresentar o resultado final.[/quote\']
ola! se explicares melhor e colocares ai as coisas que precisas eu ajudo-te. Estás a trabalhar online?
-
precisava de uma ajuda pra fazer um codigo sql que consiste em tenho uma tabela com um campo com valor (INT). o que precisava era de fazer um select a base de dados, selecionar os registos da tabela que quero e fazer a soma desses Campus e apresentar o resultado final.
mysql_select_db("consumiveis", $con);
$mes = addslashes(trim($_POST["consumiveis"]));
$ano = addslashes(trim($_POST["ano"]));
$query = mysql_query("SELECT quantidade FROM dados WHERE consumiveis = '$consumiveis' AND ano = '$ano'" );
while ($registo = mysql_fetch_array($query)){
$quantidade = $registo["quantidade"];
$consumiveis = $registo["consumiveis"];
$ano = $registo["ano"];
SELECT COUNT (quantidade) FROM dados WHERE consumiveis = '$consumiveis' AND ano = '$ano';
-
o que preciso é estou a dar saída me material ex: canetas --- 2 / lapis --- 1 e assim sensitivamente, o que pretendo é selecionar todos os campos do material ex: caneta e somar o campo quantidade. depois fazer a quantidade inicial menos quantidade ja utilizada e pretendo que me mostre a quantidade que tenho em stock.
-
Sem ver a estrutura de dados é um pouco difícil mas posso te dizer que se quiseres somar todas as quantidades podes fazer
SELECT SUM(quantidades) as "total" FROM tabela;
Isto irá somar todos os valores no campo quantidades da tabela "tabela". Se colocares um WHERE para filtrar apenas as canetas vais ter o total
de canetas em stock.
O resto da tua dúvida não entendi muito bem.
-
Então porque não criar uma tabela dedicada às requisições de material apenas?
Ajudava saber quais são todas as tabelas que tens na tua base de dados.
-
obrigada vou testar isso.
Já agora vou deixar aqui mencionado a base de dados:
Tabela consumiveis: id , consumivel, referencia, quantidade inicial, quantidade final
Tabela dados: id, consumivel, quantidade, pess_levant, data
o que preciso é de calcolar a quantidade final, e sempre que correr o script vai actualizar a quantidade final.
A quantidade final é a quantidade em stock.
-
Podes criar uma cron que faça o calculo e actualize o valor, ou podes correr a query sempre que um produto for vendido e o stock necessitar de ser alterado.
PS: Só li o ultimo post, portanto posso estar errado no que queiras.
-
obrigada vou testar isso.
Já agora vou deixar aqui mencionado a base de dados:
Tabela consumiveis: id , consumivel, referencia, quantidade inicial, quantidade final
Tabela dados: id, consumivel, quantidade, pess_levant, data
o que preciso é de calcolar a quantidade final, e sempre que correr o script vai actualizar a quantidade final.
A quantidade final é a quantidade em stock.
Eu faria o seguinte:
SELECT SUM(quantidade) as total FROM dados GROUP BY consumiveis
Ficavas logo com as quantidades de cada 'consumivel' e depois se quiseres podes muito bem limitar em termos de anos ou até mesmo consumível (como ja tens no SQL 'WHERE consumiveis = '$consumiveis' AND ano = '$ano'').
-
ok vou seguir o teu conselho obrigada
-
boas tenho o código a funcionar 5 * se alguém precisar é só dizer que eu disponibilizo.