Tutorial Anterior > MySQL – Exclusão De Dados
Nas edições anteriores mostramos como criar uma tabela, efetuar inclusões, alterações e exclusão de seus dados.
Como encontrei vários artigos na Internet com este mesmo tema, porém, apresentando erros diversos, foquei a Matéria de hoje a lhe passar a correção deste tema que é bastante discutido e pouco compreendido por programadores novatos e até mesmo experientes.
Caso esta seja sua primeira visita a este Blog, se não tiver um conhecimento sobre inserção, alteração e exclusão, sugerimos visitar nossas matérias anteriores, antes de dar andamento a esta matéria!
Visando lhe facilitar, disponibilizamos em anexo os scripts desta matéria, para você analisar e testar, ok?
O processo de criação é simples, conforme descrito abaixo:
----- CRIANDO A TABELA -----
CREATE TABLE `fotos` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`foto` BLOB NOT NULL DEFAULT "",
`tipo` VARCHAR(20) NOT NULL DEFAULT "",
PRIMARY KEY(`id`)
);
-----
OBS.: Copie tudo o que está dentro de SCRIPT DE EXCLUSÃO e cole no SQL Editor (conforme imagem abaixo).
Feito isso, clique em F9 (RUN) e o Programa carregará suas informações na base de dados, efetuando a exclusão de seu conteúdo.
Agora que você criou a tabela Fotos, vamos dar início ao formulário para a inserção da imagem!
Como padrão (desde a matéria anterior), estamos focando a linguagem de Programação em PHP.
OBS.: Poderíamos fazer tudo em uma só página, mas para facilitar seu entendimento, vamos dividir em vários documentos. Ok?
----- formulario.htm -----
Gravando uma imagem no BD MySQL
----------
OBS.: Este é o formulário onde você poderá inserir a imagem (conforme o script acima e imagem).
Observe que como estamos passando um arquivo (imagem) pelo formulário, é obrigatório a inclusão no form da instrução enctype=”mutipart/form-data”.
----- conexao.php -----
$database = "localhost:3306"; // SERVIDOR E PORTA UTILIZADA
$dbname = "basededados"; // BASE DE DADOS
$usuario = "usuario"; // USUÁRIO DO MYSQL
$dbsenha = "senha"; // SENHA DO MYSQL
$conexao=mysql_connect ($database, $usuario, $dbsenha);
if($conexao){
if (mysql_select_db($dbname, $conexao)){ print "";
}else{ print "Não foi possível selecionar o Banco de Dados"; }
}else{ print "Erro ao conectar o MySQL"; }
?>
-----
Através do script acima você poderá acessar a base de dados MySQL.
OBS.: Lembre-se de alterar os dados de acesso (estão comentados).
----- formulario_envia.php -----
include('conexao.php');
//RECEBE DADOS DO FORMULÁRIO
$Foto = $_FILES["txtFoto"]["tmp_name"];
$Tipo = $_FILES["txtFoto"]["type"];
https://www.webmaster.pt/mysql-parte-4-exclusao-dados-702.html
// Trata a Imagem
$pont = fopen($Foto, "rb");
$dados = fread($pont,filesize($Foto));
fclose($pont);
$dados = addslashes($dados);
//INSERE NA BASE DE DADOS
$query = "INSERT INTO fotos (foto, tipo) VALUES('$dados', '$Tipo')";
$resultado = mysql_query($query);
if ($resultado){
?>
}// Fecha if ($resultado){
?>
----------
OBS.: Através do script acima você poderá inserir na base de dados a imagem enviada anteriormente pelo formulário.
Veja que após efetuar o cadastro o Sistema gera um alerta confirmando o cadastro e direciona a página para formulario.htm.
Vamos agora visualizar a imagem que você acabou de cadastrar na base de dados?
Veja na imagem a seguir que ela foi devidamente cadastrada!
----- visualiza_imagem.php -----
Visualizando As Imagens Cadastradas No BD MySQL
// Inclui o arquivo de conexão include('conexao.php'); //EXECUTA A QUERY $query = "SELECT * FROM fotos"; $resultado = mysql_query($query); if($resultado){ while ($campo = mysql_fetch_array($resultado)){ $id = $campo['0']; $foto = $campo['1']; $tipo = $campo['2']; echo "
";
} // Fecha if($resultado){
} // Fecha while ($campo = mysql_fetch_array($resultado)){
?>
----------
OBS.: Através do script acima você visualiza a imagem (poderá através do SELECT efetuar alterações, isto é: fazer o que for necessário, incluindo até mesmo tabelas (dependendo de sua necessidade).
----- visualiza_imagem_foto.php -----
include('conexao.php'); $id = $_GET['id']; // Executa a query, trazendo os dados do banco $query = "SELECT * FROM fotos where id = $id"; $resultado = mysql_query($query); $tipo = mysql_result($resultado, 0, "tipo"); $foto = mysql_result($resultado, 0, "foto"); header("Content-type: $tipo"); print $foto; ?>
----------
Através do script acima, o Sistema resgatará a imagem a ser apresentada em tela!
Após cadastrarmos a imagem, podemos visualizar no script visualiza_imagem.php (conforme exemplo descrito na imagem abaixo).
Espero ter lhe ajudado em algo com esta matéria.
DOWNLOAD: Descarregue o código utilizado neste tutorial de Registo De Imagens Em Tabela MySQL, em formato .zip.
Tutorial Seguinte > MySQL – Realização De Backups
9 Responses
Olá, Como eu faria se quisesse cadastrar mais de uma foto de uma só vez?
Olá Danilo! Não sei se algum dos programadores está a ler os comentários. Mas, vou pedir para responderem amanhã. Um Abraço Rui Soares
as imagens não estão sendo exibidas.
obrigado!
Acompanho o blog faz tempo, parabéns, mas tenho algumas dúvidas… e questão de tamanho? Fica muito pesado o banco de dados incluindo imagens nos campos do tipo BLOB?
Obrigado!
Olá, de facto, a questão que o Danilo colocou é a minha dúvida. Como se faz para inserir mais do que uma imagem de uma só vez? Eu estou habituada a inserir uma a uma, mas não há maneira de fazer de uma vez só? Obrigada.
Como Cadastrar várias imagens ao mesmo tempo? tenho essa dúvida.
Como colocar a imagem cadastrada como background?
Pessoal, tenho o seguinte script e quanto tento exiPessoal, tenho o seguinte script e quanto tento exibi as imagens, aparece apenas um.
$result=mysql_query("SELECT img FROM mensagem WHERE '$hoje' BETWEEN data_inicio and data_termino") or die("Impossível executar a query ");
while($linha = mysql_fetch_object($result)) {
Header( "Content-type: image/gif");
$inseto = $linha->img;
echo $inseto;
$exibir = "<img src='".$inseto."' alt='Foto de Exibição' />";
}
Alguém sabe porque aparece apenas uma.
Abs
bi as imagens, aparece apenas um.