-
Conteúdo Similar
-
Por Ross Risso
Tenho uma tabela pedidos com o campo forma de pagamento - formpag - ele é uma combox que o usuário escolhe se o pagamento vai ser em dinheiro ou ou depósito em banco, na hora de criar o pedido.
Nessa tabela também existe o campo total. O que necessito é buscar em uma consulta o total de todos os pedidos e mostrar separadamente na mesma consulta o total em dinheiro e em depósito.
$qr="SELECT dataped, formpag, total FROM tblpedidos GROUP BY MONTH(dataped)"; $sqli=mysqli_query($conn,$qr); while($ln = mysqli_fetch_assoc($sqli)){} Como faço para obter a soma de "total" quando? Exemplo:
JANEIRO quando formpag for dinheiro - total em dinheido - quando formpag for depósito - total em depósito.
JANEIRO total em dinheiro $ 100,00 - total em depósito $ 50,00. E assim por diante: FEVEREIRO, MARÇO e etc.
espero ter sido claro. Agradeço a atenção de todos.
-
Por celsomacarini
Olá, estou com uma dúvida, como que eu faço para mandar a data e a hora atualizada para o meu banco? O código esta assim
FUNÇÃO DE ADICIONAR
public function adicionarSolicitacao($usuario = '', $assunto ='', $data ='', $hora ='') { if($this->existeEmail($email) == false) { $sql = "INSERT INTO solicitacao (usuario, assunto, data, hora) VALUES (:usuario, :assunto, :NOW(), :NOW())"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':usuario', $usuario); $sql->bindValue(':assunto', $assunto); $sql->bindValue(':data', $data); $sql->bindValue(':hora', $hora); $sql->execute(); return true; } else { return false; } }
ARQUIVO SUBMIT
<?php include '../classes/ramal.class.php'; $contato = new Contato(); if(!empty($_POST['usuario'])){ $usuario = $_POST['usuario']; $assunto = $_POST['assunto']; $data = $_POST['data']; $hora = $_POST['hora']; $contato->adicionarSolicitacao($usuario, $assunto, $data, $hora); header("Location: index_servico.php"); }else{ header("Location: index_servico.php"); } ?> ARQUIVO DO FORMULÁRIO <div class="container"> <form name="formCadastro" method="POST" action="nova_solicitacao_submit.php"> <div class="form-row"> <div class="form-group col-md-6"> <fieldset disabled> <label for="inputEmail4">Nome do Usuário</label> <input type="text" class="form-control" name="usuario" value="<?php echo $_SESSION['usuarioNome']; ?>"> </div> </fieldset> <div class="form-group col-md-6"> <label for="inputState">Assunto</label> <select id="inputState" class="form-control" name="assunto"> <option selected>Impressoras</option> <option>EP-Específico Pormade</option> <option>Fluig</option> <option>Internet</option> <option>Logix</option> <option>Maker</option> <option>Office</option> <option>Inline</option> <option>Senhas</option> <option>SIMP</option> <option>Telefonia</option> <option>Terceiros</option> <option>Windows</option> <option>Backup</option> <option>CEDEPH</option> <option>Computadores</option> <option>CRM</option> <option>E-Mail</option> <option>Empréstimo de Equipamentos</option> <option>Formatação</option> <option>Outros</option> </select> </div> </div> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text">Qual é o problema?</span> </div> <textarea class="form-control"></textarea> </div><br> <input class="btn btn-primary" type="submit" value="Enviar"> <a href="nova_solicitacao_submit.php" class="btn btn-info" role="button">Voltar</a> </div> </div> </form> </header> </body>
-
Por adrianno
Fala pessoal beleza?
Tenho um problema para resolver, tenho um sistema em PHP com MySQL, mas preciso melhorar a paginação, tenho uma 2 lógicas de paginação em mente, uma delas é a que mais se encontra e videos, blogs, postagens mostrando na web,
onde damos um primeiro select CAMPO from TABELA, contamos o resultado e temos o total de registros para tratar a quantidade de páginas, limite, quantidade que vai aparecer por página etc, apos isso damos novamente o select CAMPOS from TABELA limite x, y de acordo com o que obtivemos na lógica da paginação com a primeira SQL. esta lógica até que funciona, mas, não consegui aplicar ela usando JOIN agrupando 2 ou mais tabelas, pois ai, eu teria que fazer esta contagem lá a primeira SQL, ou seja no fim, teria 2 SQL sendo executadas , uma mais rápida devido ao limit passado, mesmo assim ainda seriam 2 consultas.
Outras lógica seria dar um SELECT count(CAMPO) from TABELA seria uma SQL mais rápida, mas... se eu tiver um JOIN agrupando dados de uma tabela de categoria + produtos, eu teria que contar o resultado já agrupado das 2.
Já pensei em executar a consulta normal, retornar o array dos dados, e depois paginar este array com array_slice, e dividir ele de acordo com a quantidade de páginas e registros de cada.
Já fiz paginação com JS/AJAX mas mesmo assim, ainda preciso passar os dados totalizados, consigo uma boa visualização final na interface, mas por tras, sei que o processamento no MYSQL pesa
Lembrando que em cada caso citado, cada vez que alteramos entre as páginas, é novamente executado os calculos.
Alguem tem uma lógica bacana para paginação? de forma que nao fique pesado, lento em uma tabela muito grande?
-
Por zinleo1
Galera, estou sofrendo com um problema ao editar a senha do aluno, alguém saberia ajudar com o motivo do erro? Tô precisando disso pra entregar a avaliação no curso urgentemente.
Pag 1: Codigos -> areadoaluno.php
<html> <?php session_start(); ?> <head> <title>Editar registro de aluno</title> <meta charset='utf-8'/> </head> <body> <form name="areadoaluno.php" method="POST" action="alterar_senha.php"> <fieldset> <legend>bem vindo,<?php echo $_SESSION['logado']."!";?></legend> <?php session_destroy(); ?> </fieldset> <input type="submit" name="editarsenha" value="Editar Senha"> </form> </body> </html> Pag 2: Codigos -> Alterar_senha.php
<html> <head> <title>Editando a senha do aluno</title> <meta charset='utf-8'/> </head> <body> <?php include('conexao.php'); $cod = $_GET['id']; echo $cod; echo "<b>Editando sua senha! ".$cod."</b></br></br>"; $query ="SELECT * FROM aluno WHERE cod_aluno = $cod"; $result = mysqli_query($con,$query); if ($result->num_rows > 0) { echo "<form method='post' action='alterar_senha_conf.php'>"; while($linha = mysqli_fetch_array($result)) { echo "<label>Login:</label><input required type='text' name='login_aluno' readonly='readonly' value='".$linha["login_aluno"]."'></input><br>"; echo "<label>Senha:</label><input type='text' name='senha_aluno' value='".$linha["senha_aluno"]."'></input><br>"; echo "<label>Código do aluno:</label><input type='text' name='cod_aluno' readonly='readonly' value='".$linha["cod_aluno"]."'></input><br>"; echo "<input type='submit' value='salvar'></input>"; } echo "</form>"; } else { echo "<b class='erro'>Sem resultados para mostrar</b><br><br>"; } ?> </body> </html> Pag 3: Codigos -> Alterar_senha_conf.php
<html> <head> <title></title> <meta charset='utf-8'/> </head> <body> <?php include('conexao.php'); $login = $_POST['login_aluno']; $senha = $_POST['senha_aluno']; $cod = $_POST['cod_aluno']; echo "Login: ".$login."</br>Senha: ".$senha."</br></br>"; $adc = "UPDATE aluno SET login_aluno='$login', senha_aluno='$senha' WHERE cod_aluno='$cod'"; $ins = mysqli_query($con,$adc); if($ins) { echo "<b style='color:green'>Usuário editado com sucesso!</b> </br><a href='areadoaluno.php'>Voltar</a>"; } else { echo "Erro </br><a href='areadoaluno.php'>Voltar</a>"; } ?> </body> </html>
-
Por Rodrigo2000
Bom dia,
Tenho estado a criar uma base dados onde vou inserir um conjunto de elementos de uma textarea.
Quando o texto é curto, facilmente passa para a base de dados, no caso de ser longo não passa nada.
O problema é claramente as variáveis, na base de dados já alterei o tamanho dos campos, mas resolveu o
problema.
Alguem tem uma ideia de como posso resolver o problema.
Envio o código fonte da página de entrada de dados.
Tenho igualmente um problema que ainda nem percebi o que se passa.
O texto quando carregado na textarea e input aparece com espaços, como é que os posso
eliminar.
Sem mais
Rodrigo Lourenço
<!DOCTYPE HTML>
<html>
<head>
<title>Adiciona Artigo</title>
<meta name="description" content="website description" />
<meta name="keywords" content="website keywords, website keywords" />
<meta http-equiv="content-type" content="text/html; charset=windows-1252" />
<link rel="stylesheet" type="text/css" href="style/style.css" title="style" />
</head>
<body>
<?php
//começa por verificar a sessão, caso não esteja activa envia para a página inicial.
require("livraria.php");
session_start();
$validacao = array();
$login = 0;
if (isset($_SESSION['login']) && isset($_SESSION["sessionmaxtime"])){
$login = $_SESSION['login'];
}
if ($login == 0)
echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php\">";
else{
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$validacao = validarAdd();
}
}
?>
<div id="main">
<div id="header">
<div id="logo">
<div id="logo_text">
<!-- class="logo_colour", allows you to change the colour of the text -->
<h1><a href="index.php">Livro<span class="logo_colour">Aberto</span></a></h1>
<h2>Um lugar onde se lê e fala de livros.</h2>
</div>
</div>
<div id="menubar">
<ul id="menu">
<!-- put class="selected" in the li tag for the selected page - to highlight which page you're on -->
<li><a href="index.php">Home</a></li>
<li class="selected"><a href="add.php">Criar</a></li>
<li><a href="apagar.php">Apagar</a></li>
<li><a href="alterar.php">Alterar</a></li>
<li><a href="gerir.php">Utilizadores</a></li>
<li><a href="sair.php">Sair</a></li>
<?php
echo "<li><a href=\"#\"> ".$_SESSION["utilizador"]."</a></li>";
?>
</ul>
</div>
</div>
<div id="site_content">
<div class="sidebar">
<!-- insert your sidebar items here -->
<h3>Livros em Revista</h3>
<p>Use o formulário para inserir um novo artigo.</p>
<p>
Os campos abaixo mencionados são preenchidos automáticamente.
<ul>
<li> Autor </li>
<li> Data </li>
</ul>
</p>
<p></p>
<h3>Sites Uteis</h3>
<ul>
<li><a href="#">link 1</a></li>
<li><a href="#">link 2</a></li>
<li><a href="#">link 3</a></li>
<li><a href="#">link 4</a></li>
</ul>
</div>
<div id="content">
<!-- insert the page content here -->
<h1>Novo Registo</h1>
<form action="#" method="post">
<div class="form_settings">
<p><span>Titulo
<?php
if ($_POST && in_array("titulo",$validacao))
echo "(Obrigatório)";
?></span><input class="contact" type="text" name="titulo" value="
<?php
if($_POST && (count($validacao) > 0))
if(!empty($_POST["titulo"]))
echo $_POST["titulo"];
?>
" /></p>
<p><span>Autor</span><input class="contact" type="text" name="autor" readonly="true" value="
<?php
echo $_SESSION["utilizador"];
?>" /></p>
<p><span>Artigo
<?php
if ($_POST && in_array("artigo",$validacao))
echo "(Obrigatório)";
?>
</span><textarea class="contact textarea" rows="20" cols="50" name="artigo">
<?php
//echo $_POST["artigo"];
if($_POST && (count($validacao) > 0))
if(!in_array("artigo",$validacao))
echo $_POST["artigo"];
?>
</textarea></textarea></p>
<p><span>Resumo
<?php
if ($_POST && in_array("resumo",$validacao))
echo "(Obrigatório)";
?>
</span><textarea class="contact textarea" rows="4" cols="50" name="resumo">
<?php
if($_POST && (count($validacao) > 0))
if(!in_array("resumo",$validacao) )
echo $_POST["resumo"];
?>
</textarea></textarea></p>
<p><span>Data</span><input class="contact" type="date" name="data" readonly="true" value="<?php
date_default_timezone_set('Europe/Lisbon');
echo date('Y-m-d');
?>" /></p>
<p style="padding-top: 15px"><span> </span><input class="submit" type="submit" name="contact_submitted" value="Adicionar" /></p>
</div>
</form>
</div>
</div>
<div id="footer">
Copyright © textured_blue | <a href="http://validator.w3.org/check?uri=referer">HTML5</a> | <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> | <a href="http://www.html5webtemplates.co.uk">Free CSS Templates</a>
</div>
</div>
<?php
//Uso da base de dados.
$servername = "localhost";
$username = "root";
$password = ""; //campo a ser mudado consoante a password da base de dados.
$dbname = "bdbooks";
// Create connection
$con = new mysqli($servername, $username, $password, $dbname);
//Verifica se houve erro ao aceder à base de dados
if ($con->connect_errno!=0){
echo "Ocorreu um erro de ligação à base de dados.".$con->connect_errno;
exit;
}
//Só quando não houverem elementos na $validação é que se pode avançar.
if(($_POST) && (count($validacao) == 0)){
//Inserção dos dados na base de dados.
//Usando antes o metodo query que usa a sintaxe mysql directamente.
//Tratamento das variáveis para evitar problemas de injecção de SQL.
$titulo = htmlentities(htmlspecialchars($_POST["titulo"]),ENT_QUOTES);
$artigo = htmlentities(htmlspecialchars($_POST["artigo"]),ENT_QUOTES);
$resumo = htmlentities(htmlspecialchars($_POST["resumo"]),ENT_QUOTES);
//Os campos pré preenchidos
$iduser = $_SESSION["userid"];
$data = $_POST["data"];
//Segundo construção da string para introdução dos dados SQL.
$query = "INSERT INTO articles (artigo, data, id_users, resumo, titulo) VALUES(";
//Introdução dos dados na string.
$query = $query. "\"".$artigo."\",";
$query = $query. "\"".$data."\",";
$query = $query. "\"".$iduser."\",";
$query = $query. "\"".$resumo."\",";
$query = $query. "\"".$titulo."\");";
//realização da query
$con->query($query);
//Depois de utilizar os dados temos que os apagar.
unset($_POST);
} //Fim do if
?>
</body>
</html>
-
Amigos, estou fazendo um trabalho pro bono para um serviço público, e estou há dias tentando descobrir qual o problema do meu código. Se alguém puder me ajudar, agradeço demais.
O formulário é esse:
E o arquivo .php (que está no servidor local) que ele deveria chamar é esse:
O problema é que sempre aparece a mensagem " Não existe o registro informado. Verifique novamente no Banco de Dados.", que eu coloquei como aviso caso não encontrasse nada no Banco de Dados.
Só que mesmo quando eu coloca um número de Processo que existe no banco de dados, ele segue dando essa informação. E se eu retiro do script essa conferência, aparece a mensagem final "Valor de sobra atualizado com sucesso", como se houvesse ocorrido o Update do banco de dados, mas quando vou conferir no Banco de dados, nada foi alterado.
Impressão que eu tenho é que a interação com o banco de dados não está ocorrendo, por algum motivo que não sei qual é.
A tabela na DB tem 4 colunas: id, Processo (BIGINT), Valor_sobra (DECIMAL 7,2), Observacoes (VARCHAR).
HOST: localhost USERNAME: id1019345_dados_zzzz SENHA: xxxx DB: id1019345_sobras
Compartilhar este post
Link para o post
Compartilhar em outros sites