Ir ao conteúdo
  • Cadastre-se

Para que geralmente usamos php ? E banco de dados?


Ir à solução Resolvido por DiF,

Posts recomendados

  • Moderador
  • Solução

@FabianoS

 

O php é uma linguagem de programação server-side.

ele é usado para fazer qualquer coisa.. qualquer tipo de função criada.. seja, para fazer consultas em um banco de dados.. aplicar filtros em imagens... fazer upload de arquivos.. e etc... 

 

Não existe uma função específica para inserir imagens no banco de dados. Ela pode ser inserida como um dado qualquer(porém não recomendado).

 

O mais indicado é:

1) inserir no banco de dados apenas o nome da imagem  e por meio de consulta pegar este nome e concatenar com uma variável que recebe o caminho(diretório) para exibi-la;

2) Inserir no banco de dados o caminho completo da imagem.. só precisando pegar ele por meio de consulta e exibir.

 

O campo inpuy="file" é usado para colocar em variáveis a imagem/arquivo. No php é resgatado com a variável global  $_FILE.

ele tem 5 estados: 

 

$_FILES['userfile']['name']
O nome original do arquivo na máquina do cliente.
 
$_FILES['userfile']['type']
O tipo mime do arquivo, se o navegador fornecer essa informação. Um exemplo poderia ser "image/gif". O tipo mime no entanto não é verificado pelo PHP portanto não considere que esse valor será concedido.
 
$_FILES['userfile']['size']
O tamanho, em bytes, do arquivo enviado.
 
$_FILES['userfile']['tmp_name']
O nome temporário com o qual o arquivo enviado foi armazenado no servidor.
 
$_FILES['userfile']['error']
O código de erro associado a esse upload de arquivo.
 
Em vermelho é o minimo utilizado para fazer uploads.. onde respectivamente é o nome original do arquivo e o nome temporário.
 
Para fazer um upload é utilizado a função:  move_uploaded_file()
 
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

 

@FabianoS

 

O php é uma linguagem de programação server-side.

ele é usado para fazer qualquer coisa.. qualquer tipo de função criada.. seja, para fazer consultas em um banco de dados.. aplicar filtros em imagens... fazer upload de arquivos.. e etc... 

 

Não existe uma função específica para inserir imagens no banco de dados. Ela pode ser inserida como um dado qualquer(porém não recomendado).

 

O mais indicado é:

1) inserir no banco de dados apenas o nome da imagem  e por meio de consulta pegar este nome e concatenar com uma variável que recebe o caminho(diretório) para exibi-la;

2) Inserir no banco de dados o caminho completo da imagem.. só precisando pegar ele por meio de consulta e exibir.

 

O campo inpuy="file" é usado para colocar em variáveis a imagem/arquivo. No php é resgatado com a variável global  $_FILE.

ele tem 5 estados: 

 

$_FILES['userfile']['name']
O nome original do arquivo na máquina do cliente.
 
$_FILES['userfile']['type']
O tipo mime do arquivo, se o navegador fornecer essa informação. Um exemplo poderia ser "image/gif". O tipo mime no entanto não é verificado pelo PHP portanto não considere que esse valor será concedido.
 
$_FILES['userfile']['size']
O tamanho, em bytes, do arquivo enviado.
 
$_FILES['userfile']['tmp_name']
O nome temporário com o qual o arquivo enviado foi armazenado no servidor.
 
$_FILES['userfile']['error']
O código de erro associado a esse upload de arquivo.
 
Em vermelho é o minimo utilizado para fazer uploads.. onde respectivamente é o nome original do arquivo e o nome temporário.
 
Para fazer um upload é utilizado a função:  move_uploaded_file()
 

 

 

 

 

 

dif então , por exemplo se eu tenho algumas imagens no meu site e eu queria sobreescrever essas imagem . tipo como se fosse uma painel e uma galeria o usuario colocaria a imagem no form e enviaria e na pagina que tivesse as imagems eu recuperaria . a imagem com $_FILES[].

 

 

nao entendi muito de salvar o caminho no banco de dados tipo "C://IMAGES/IMG.PNG ?" Como armazenaria só o caminho da imagem ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

 

 

nao entendi muito de salvar o caminho no banco de dados tipo "C://IMAGES/IMG.PNG ?" Como armazenaria só o caminho da imagem ?

O caminho no banco de dados não necessariamente é esse que imaginas no pc.

Mas sim no diretório no servidor.

 

Vamos supor que a estrutura do seu servidor seja esta:

Raiz(/)  |  |-imagens       |       |-thumbs

Na pasta imagens, ficarão as imagens normais

Na pasta thumbs, ficarão as imagens com tamanho reduzido para que seja carregado mais rápido na hora de exibir a galeria.

 

As thumbs podem ser geradas no php... no momento que for fazer o upload.

Então em conjunto com a função de upload, inserir no banco de dados o caminho ou o nome dos arquivos.

 

Quando for exibir, você resgata o valor do campo onde está o caminho da imagem ou o  nome dela.

Geralmente o pessoal costuma só inserir o "nome.png"... e manipular o caminho por php.

 

Um exemplo de como ficaria na tabela do banco de dados:

ID imagem         thumb               descricao                           data  1  foto.jpg       foto_thumb.jpg      Esta foto foi tirada no dia tal...  2015-08-292  outrafoto.jpg  outrafoto_thumb.jpg Esta foto foi tirada no dia tal...  2015-08-29

Ou poderia ser assim:

ID imagem                               thumb               descricao                           data  1  imagens/foto.jpg       imagens/thumb/foto_thumb.jpg      Esta foto foi tirada no dia tal...  2015-08-292  imagens/outrafoto.jpg  imagens/thumb/outrafoto_thumb.jpg Esta foto foi tirada no dia tal...  2015-08-29

Veja que assim foi gravado o caminho além do nome.

 

Para exibir a imagem seria algo do tipo:

<?php   include 'conexao.php';   $busca = mysqli_query($conexao, "SELECT imagem, thumb FROM galeria";)   while($galeria = mysqli_fetch_object($busca)):       echo "             <div class='galeria-item'>                  <a href='$galeria->imagem'><img src='$galeria->thumb' alt='$galeria->descricao' /><a/>              </div>";   endwhile;

Esse exemplo foi baseado no segundo exemplo.. onde o caminho das imagens estão no banco.  caso queira fazer baseado no exemplo 1, aí é só definir uma variável para o caminho e concatenar com o a variável do nome da imagem. exemplo:

<?php   .   .   .    $caminho = "imagens/";    $caminho_thumb ="imagens/thumbs/";    ..        while($galeria = mysqli_fetch_object($busca)):        $imagem = $caminho . $galeria->imagem;        $thumb  = $caminho_thumb . $galeria->thumb;         echo"            <div class='galeria'>              <a href='$imagem'><img src='$thumb' alt='$galeria->descricao'/></a>            </div>";      endwhile;      

Ainda tem um outro meio de mostrar as imagens.. usando a função glob() no php... mas é um pouco mais complicado.

Link para o comentário
Compartilhar em outros sites

Ainda tem um outro meio de mostrar as imagens.. usando a função glob() no php... mas é um pouco mais complicado.

 

 

a parte do caminho eu entendi. porque no wordpress usa  o <?php bloginfo(template_url)?>/img/data.png"> que busca a imagem .

eu entendi a base.

 

agora outra questão andei procurando como calcular uma coluna do banco de dados e encontrei o Sum() mais nao entendi como ele funciona 

 

SELECT SUM(valor) as SOMA, nome FROM dbmes GROUP BY nome . sabe me explicar ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

Basicamente a a função sum() faz uma soma aos valores de uma  mesma coluna.

É umas das funções de cálculos no mysql.

 

Veja um exemplo: http://sqlfiddle.com/#!9/2e082/7/0

 

A função count() conta quantos registro tem agrupado pelo ítem.

e a função sum() soma o total de cada valor..

 

Um detalhe é que o campo a ser somado deve ser INT, Float, Double.... ou seja, tipo de campo que contenha valores numéricos.

Link para o comentário
Compartilhar em outros sites

@FabianoS

 

Basicamente a a função sum() faz uma soma aos valores de uma  mesma coluna.

É umas das funções de cálculos no mysql.

 

Veja um exemplo: http://sqlfiddle.com/#!9/2e082/7/0

 

A função count() conta quantos registro tem agrupado pelo ítem.

e a função sum() soma o total de cada valor..

 

Um detalhe é que o campo a ser somado deve ser INT, Float, Double.... ou seja, tipo de campo que contenha valores numéricos.

 

 

Sim eu ja criei a tabela  e adicioneis numeros e difini como INT . 

 

Nao entendi a parte do  count(*) as qtd, 

       sum(valor) as total 
 
essses as qtd e as total vi que selecionou os produtos com select e banco com from. o GROUP BY nao entendi.
Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

Então,

 

a clausula AS, é usada apenas para nomear o campo para ser exibido.

 

exemplo com  e sem:

 

Sem:

SELECT sum(valor) FROM tabela

Retorna:

sum(valor)  50

Com:

SELECT sum(valor) as total FROM tabela 

Retorna:

total 50

Vê a diferença? o nome no campo é renomeado... então sempre que fazer um cálculo use o AS para dar um nome ao cálculo.. assim você resgata no php mais fácil.

 

Falando mais especificamente em cada uma das funções, o sum() faz uma soma de valores nos campos e o count() conta  a quantidade de registros.

 

o Group é uma clausula para agrupar  os campos , se não tivesse agrupado, mostraria cada linha de registro repetido.

Experiementa retirar o group by da instrução  e clicar em RUN SQL :)

Esse site do SQL Fiddle é legal que dá para criar tabelas e testar suas consultas antes de colocar no seu projeto.. eu uso muito isso :)

Link para o comentário
Compartilhar em outros sites

@FabianoS

 

Então,

 

a clausula AS, é usada apenas para nomear o campo para ser exibido.

 

exemplo com  e sem:

 

Sem:

SELECT sum(valor) FROM tabela

Retorna:

sum(valor)  50

Com:

SELECT sum(valor) as total FROM tabela 

Retorna:

total 50

Vê a diferença? o nome no campo é renomeado... então sempre que fazer um cálculo use o AS para dar um nome ao cálculo.. assim você resgata no php mais fácil.

 

Falando mais especificamente em cada uma das funções, o sum() faz uma soma de valores nos campos e o count() conta  a quantidade de registros.

 

o Group é uma clausula para agrupar  os campos , se não tivesse agrupado, mostraria cada linha de registro repetido.

Experiementa retirar o group by da instrução  e clicar em RUN SQL :)

Esse site do SQL Fiddle é legal que dá para criar tabelas e testar suas consultas antes de colocar no seu projeto.. eu uso muito isso :)

Entendi o GROUP BY separa o nome como o nome ja diz group e grupo, entendi então, vou fazer um codigo pra testar. quero ver se consigo.

Link para o comentário
Compartilhar em outros sites

@dif tentei, mais ta dando erro acho que  e por burrice mesmo. tipo pra exibir o resulta eu coloquei echo "$total". e o erro fala que nao tem como converter object em string. 

 

mpV4Qs8.png?1

<html lang="pt-br"><head></head><body><?php$nome = $_POST['nome'];$sobrenome = $_POST['sobrenome'];$valor = $_POST['valor'];$host = "localhost";$user ="root";$pass = "";$banco = "cadastro";$conexao = mysqli_connect($host, $user, $pass,$banco)  or die (mysqli_error());mysqli_select_db ($conexao,"dbmes");$insert = mysqli_query($conexao,"INSERT INTO dbmes(nome,sobrenome,valor)VALUES('$nome','$sobrenome','$valor')") or die (mysql_error());$consulta = mysqli_query($conexao,"SELECT * FROM dbmes");$total_registros = mysqli_num_rows($consulta);$total = mysqli_query($conexao,"SELECT SUM(valor) as total FROM dbmes");echo "<p>Total de registros: $total_registros </p>";            echo "<table>                 <tr>                    <th>ID</th>                    <th>Nome</th>                    <th>SobreNome</th>                     <th>Valor</th>                 </tr>";        while($resultado = mysqli_fetch_object($consulta)):            echo "                 <tr>                    <td>$resultado->id</td>                    <td>$resultado->nome</td>                    <td>$resultado->sobrenome</td>                     <td>$resultado->valor</td>                  </tr>";       endwhile;       echo "$total";?></body></html>
Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

Vou fazer umas correções e comentar as linhas para você entender.

 

Aparentemente o que eu vejo ali é que estas selecionando dois bancos de dados, sendo que só em um deles tem uma conexão.
 
Este é o primeio erro que vejo.
A mensagem de erro que se refere é por que você atribuiu em uma variável  a função que retorna a consulta e tentou printa-la em tela com o echo.
Tens que usar novamente o mysqli_fetch_object na consulta para a variável do total.

exemplo:

$total = mysqli_query($conexao,"SELECT SUM(valor) as total FROM dbmes");$resultado_total = mysqli_fetch_object($total);
Aí sim você dá um echo:
 
echo $resultado_total->total;
 
o ->total, porque na consulta você nomeou assim SUM(valor) as total
 
Então seu código reescrito:
 
<html lang="pt-br"><head></head><body><?php$nome = $_POST['nome'];$sobrenome = $_POST['sobrenome'];$valor = $_POST['valor'];//Credenciais do banco$host = "localhost";$user ="root";$pass = "";$banco = "dbmes";//Conexão com o banco de dados$conexao = mysqli_connect($host, $user, $pass,$banco)  or die (mysqli_error());//Insere os dados na tabela dbmes$insert = mysqli_query($conexao,"INSERT INTO dbmes(nome,sobrenome,valor)VALUES('$nome','$sobrenome','$valor')") or die (mysqli_error());//Faz a consulta$consulta = mysqli_query($conexao,"SELECT * FROM dbmes");//Conta os registros$total_registros = mysqli_num_rows($consulta);//soma o campo valor$soma_total = mysqli_query($conexao,"SELECT SUM(valor) as total FROM dbmes");/* mysqli_fetch_object Retorna a linha atual do conjunto de resultados como um objeto aonde os  * atributos do objeto representam os nomes dos campos encontrados no conjunto de resultados. */$total = mysqli_fetch_object($soma_total);//Printa em tela o total de registrosecho "<p>Total de registros: $total_registros </p>";            echo "<table>                 <tr>                    <th>ID</th>                    <th>Nome</th>                    <th>SobreNome</th>                     <th>Valor</th>                 </tr>";        while($resultado = mysqli_fetch_object($consulta)):            echo "                 <tr>                    <td>$resultado->id</td>                    <td>$resultado->nome</td>                    <td>$resultado->sobrenome</td>                     <td>$resultado->valor</td>                  </tr>";       endwhile;       //Printa em tela o total somado no campo valorecho $total->total;?></body></html>
Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

mysqli_fetch traz o retorno da consulta.  A partir disso.. você pode trazer estes dados em forma de objeto, array  e etc.

 

Eu costumo usar  a forma de objeto por ser mais elegante.

 

o simbolo  " -> " deve ser usado sempre quando se usa o mysqli_fetch_object().

 

Sobre ao nome do db, eu imaginei isso mas fiquei um pouco na dúvida.

 

então você deve usar na credencial

$banco = "cadastro";
Link para o comentário
Compartilhar em outros sites

 

@FabianoS

 

mysqli_fetch traz o retorno da consulta.  A partir disso.. você pode trazer estes dados em forma de objeto, array  e etc.

 

Eu costumo usar  a forma de objeto por ser mais elegante.

 

o simbolo  " -> " deve ser usado sempre quando se usa o mysqli_fetch_object().

 

Sobre ao nome do db, eu imaginei isso mas fiquei um pouco na dúvida.

 

então você deve usar na credencial

$banco = "cadastro";

Entendi o fetch mostra o que foi consultado e o -> sempre e usa junto com o fatch . 

 

só mais uma coisa  eu conseguir mostrar  os total de registros, mais queria saber que nem os exemplos por exemplo você renomeou com as qtd e as total e la mostra o nome da coluna como faria isso usaria o -> ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

 

 

Entendi o fetch mostra o que foi consultado e o -> sempre e usa junto com o fatch .

Ressalto que o -> é usado sempre quando mysqli_fetch_object()

 

Se usar o mysqli_fetch_array() Aí não se usa o ->   Nesse caso usa-se  $variavel["nome do campo"]

 

 

 

 

só mais uma coisa  eu conseguir mostrar  os total de registros, mais queria saber que nem os exemplos por exemplo você renomeou com as qtd e as total e la mostra o nome da coluna como faria isso usaria o -> ?

Na consulta como você está renomeando o nome da coluna que faz o cálculo.. é só usar ->nome da coluna renomeada

 

exemplo:

//Faz a consulta$soma = mysqli_query($conexao, "SELECT SUM(valor) AS valorFinal FROM tabela");//Retorna o valor da consulta$calculo = mysqli_fetch_object($soma);//exibe em tela o valor do campo "valorFinal" criado para o resultado da soma.echo $calculo->valorFinal;
Link para o comentário
Compartilhar em outros sites

 

@FabianoS

 

Ressalto que o -> é usado sempre quando mysqli_fetch_object()

 

Se usar o mysqli_fetch_array() Aí não se usa o ->   Nesse caso usa-se  $variavel["nome do campo"]

 

 

Na consulta como você está renomeando o nome da coluna que faz o cálculo.. é só usar ->nome da coluna renomeada

 

exemplo:

//Faz a consulta$soma = mysqli_query($conexao, "SELECT SUM(valor) AS valorFinal FROM tabela");//Retorna o valor da consulta$calculo = mysqli_fetch_object($soma);//exibe em tela o valor do campo "valorFinal" criado para o resultado da soma.echo $calculo->valorFinal;

entendi. count(*) porque esse sinal de multiplicação ? e tambem ele faz a conta dos registros que nem o  "mysqli_num_rows"? ,

 

e quando for exibir o resultado eu sempre preciso colocar a variavel que faz a consulta e ->? $total = mysqli_fetch_object($soma_total); então seria a $total->total certo ?

 

queria também que me explicasse mais um pouco sobre o laço while que usou para exibir as os registros.

 

 

NgK4JF4.png?1

Link para o comentário
Compartilhar em outros sites

@dif a parte do laço o que não entendi e  tipo o while nao precisa de uma condição ? tipo enquanto 1 for maior que 2 faça algo. mais quando usa while($resultado = mysqli_fetch_object($consulta)): nao sei o que ta fazendo tipo enquando resultado for igual $consulta ffaça algo ?

 

que seria mostrar o ID SENHA NOME E SOBRENOME ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

 

 

entendi. count(*) porque esse sinal de multiplicação ? e também ele faz a conta dos registros que nem o  "mysqli_num_rows"? ,

O sinal * é de "all"  o mesmo que SELECT * FROM tabela...  seria SELECT ALL FROM tabela. então na função count() e ele conta todos os registros.

Usar  COUNT, internamente o servidor irá processar a solicitação de forma diferente.
 
Ao fazer COUNT, o servidor só irá alocar memória para armazenar o resultado da contagem.
 
Ao usar mysqli_num_rows, o servidor irá processar todo o conjunto de resultados, alocar memória para todos os resultados, e colocar o servidor no modo fetch, que envolve um monte de  detalhes distintos.
 
Pense nisso como o seguinte exemplo:
 
1) Ei Bob, quantas pessoas estão na sala de aula? (count)
 
2) Ei Bob, consiga-me uma lista de todas as pessoas na sala de aula, ... Eu vou calcular o número de pessoas que eu mesmo (mysqli_num_rows)
 

 

 

 tipo o while nao precisa de uma condição ? tipo enquanto 1 for maior que 2 faça algo. mais quando usa while($resultado = mysqli_fetch_object($consulta)): nao sei o que ta fazendo tipo enquando resultado for igual $consulta ffaça algo ?

Não necessariamente precisa de uma condição.. 

 

Neste caso quando estamos buscando mais de uma informação no banco de dados(entende-se a cada linha).. precisamos colocar em um laço de repetição.. justamente para que ele mostre todos os registros e não apenas 1.

 

Se fazer sem um laço de repetição, só irá mostrar o primeiro registro.

 

Então podemos dizer que não só o while pode ser usado... mas sim como o laço de FOR.

 

exemplo usando o FOR

$consulta = mysqli_query($conexao, "SELECT * FROM tabela");$qtd_registros = mysqli_num_rows($consulta);for($i = 0; $i < $qdt_registros; $i++):    $linha = mysqli_fetch_object($consulta);    //exibir os campos... endfor;

Mas eu acho meio ruim. então  sempre para esse tipo de coisa.. use o laço de while.

 

 

Link para o comentário
Compartilhar em outros sites

 

@FabianoS

 

O sinal * é de "all"  o mesmo que SELECT * FROM tabela...  seria SELECT ALL FROM tabela. então na função count() e ele conta todos os registros.

Usar  COUNT, internamente o servidor irá processar a solicitação de forma diferente.
 
Ao fazer COUNT, o servidor só irá alocar memória para armazenar o resultado da contagem.
 
Ao usar mysqli_num_rows, o servidor irá processar todo o conjunto de resultados, alocar memória para todos os resultados, e colocar o servidor no modo fetch, que envolve um monte de  detalhes distintos.
 
Pense nisso como o seguinte exemplo:
 
1) Ei Bob, quantas pessoas estão na sala de aula? (count)
 
2) Ei Bob, consiga-me uma lista de todas as pessoas na sala de aula, ... Eu vou calcular o número de pessoas que eu mesmo (mysqli_num_rows)
 

Não necessariamente precisa de uma condição.. 

 

Neste caso quando estamos buscando mais de uma informação no banco de dados(entende-se a cada linha).. precisamos colocar em um laço de repetição.. justamente para que ele mostre todos os registros e não apenas 1.

 

Se fazer sem um laço de repetição, só irá mostrar o primeiro registro.

 

Então podemos dizer que não só o while pode ser usado... mas sim como o laço de FOR.

 

exemplo usando o FOR

$consulta = mysqli_query($conexao, "SELECT * FROM tabela");$qtd_registros = mysqli_num_rows($consulta);for($i = 0; $i < $qdt_registros; $i++):    $linha = mysqli_fetch_object($consulta);    //exibir os campos... endfor;

Mas eu acho meio ruim. então  sempre para esse tipo de coisa.. use o laço de while.

 

 

 

 

 

Entendi. ja conseguir fazer tudo que me passou, so para introduzir a imagem que nao entendi muito bem , mais vou estudar pra entender melhor. 

 

seguinte por exemplo eu fiz uma consulta  pelo nome com um campo input e retornou tudo certinho  , ai eu queria que mostrasse o resultado total da coluna valor, mais com um botão, vou precisar usar javascript ou ajax para ele retornar o valor total. ?

 

tipo executar uma função ao clicar que nem o Onclick ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

Sim. Nesse caso pode usar ajax.

 

por exemplo  primeiro você faz um SELECT na sua tabela e mostra em tela os campos.

 

Depois você cria outro arquivo php, fazendo um SELECT com SUM().

 

Aí no jquery  use a função $.ajax() para fazer a requisição assíncrona mostrando em tela sem ter que dar um refresh.

 

 

Exemplo de requisição:

//Quando o DOM estiver pronto$(document).ready(function(){     //Coloca o botão em uma variável. Note que entre aspas  tem .botao-total, esse ponto na frente é porque foi usado uma class. se fosse uma ID seria com # no lugar do ponto.  var btn = $(".botao-total");   //Quando clica no botão   btn.click(function(event){       //O mesmo que return false. Previne erros.         event.preventDefault();             //Função de requisição ajax     var exibeTotal = $.ajax({                           url: "calculaTotal.php",                           type:"POST",                           dataType: "html"                      });      //Função que executa quando obtiver sucesso na requisição       exibeTotal.done(function(retorno){           $(".total").html(retorno);     });   });});

A função $.ajax() possui vários outros atributos e funções... como por exemplo para caso de falhas.. usa-se o  fail().  .always() para caso esteja completo a requisição... tem atributos como beforeSend.. para exibir um ícone loading... e por ai vai...

 

 veja mais detalhado: http://api.jquery.com/jquery.ajax/

Link para o comentário
Compartilhar em outros sites

@FabianoS

 

Sim. Nesse caso pode usar ajax.

 

por exemplo  primeiro você faz um SELECT na sua tabela e mostra em tela os campos.

 

Depois você cria outro arquivo php, fazendo um SELECT com SUM().

 

Aí no jquery  use a função $.ajax() para fazer a requisição assíncrona mostrando em tela sem ter que dar um refresh.

 

 

Exemplo de requisição:

//Quando o DOM estiver pronto$(document).ready(function(){     //Coloca o botão em uma variável. Note que entre aspas  tem .botao-total, esse ponto na frente é porque foi usado uma class. se fosse uma ID seria com # no lugar do ponto.  var btn = $(".botao-total");   //Quando clica no botão   btn.click(function(event){       //O mesmo que return false. Previne erros.         event.preventDefault();             //Função de requisição ajax     var exibeTotal = $.ajax({                           url: "calculaTotal.php",                           type:"POST",                           dataType: "html"                      });      //Função que executa quando obtiver sucesso na requisição       exibeTotal.done(function(retorno){           $(".total").html(retorno);     });   });});

A função $.ajax() possui vários outros atributos e funções... como por exemplo para caso de falhas.. usa-se o  fail().  .always() para caso esteja completo a requisição... tem atributos como beforeSend.. para exibir um ícone loading... e por ai vai...

 

 veja mais detalhado: http://api.jquery.com/jquery.ajax/

 

 

 

eu aprendi jquery , so que chegou na parte do ajax , deu medo. tinha que aprende outras coisa . nao me dou muito bem com javascript.

 

 

vou testar pra ver se acerto.

Link para o comentário
Compartilhar em outros sites

@dif por exemplo . tenho o form com input tipo file . e enviei esse form para uma pagina upload.php e ai resgatei com $_FILES['userfile']['name']; ai ele me mostrou nome da foto e tipo que seria jpg . ai queria saber para mostrar isso . usaria o mysqli_fetch_object e criaria um loop ? pra mostrar as cadastradas e como seria isso porque ele me retourno sou o nome e formato . no src="" colocaria images/$foto->foto? ou sem o -> ? 

<html lang="pt-br"><head><title>Apredendo Colocar Imagens no Banco de dados</title></head><body><form name="form" method="post" action="upload.php" enctype="multipart/form-data"><input style="border:solid 1px #ccc; margin:0 5px;" type="file" name="arquivo"/><input type="submit" Value="Enviar"></form></body></html>
<html lang="pt-br"><head>	<meta charset="utf-8"><title>upload</title></head><body><?php$foto = $_FILES['arquivo']['tmp_name'];echo $foto;?></body></html>
Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

O principio está certo.  enviou o arquivo ao upload.php

 

Resgatou com o $foto = $_FILES['arquivo']['name'];

 

Agora, você precisa fazer o upload de vez do arquivo, para a pasta onde ela irá ficar no servidor.

 

Para isso você utiliza o   a função  move_uploaded_file().

 

Logo em seguida você pega o  $foto = $_FILES['arquivo']['name']; 

e insere numa tabela no banco de dados.

Então no banco de dados vai ficar o nome dele... exemplo  suafoto.jpg

 

Aí para mostrar essa foto...  você faz o select nela... SELECT foto FROM tabela(supondo que o nome do campo seja foto)

Faz a mesma coisa como nos outros dados...   pegando o nome da foto Como $retorno->foto

 

Por último, para mostrar  coloca dentro do src do elemento img:

 

src="imagens/$retorno->foto"

 

Lembrando que se tiver mais de uma foto... aí tem que colocar dentro do loop while, para que ele percorra toda a tabela.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!