Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucianouru

[Resolvido] Como faço para pegar dados do mysql e alterar pelo in

Recommended Posts

Olá pessoal.

Bom eu queria saber como faço pra puxar dados do mysql para um campo input para alterar o campo dakela determinada id ?

Tipo eu tenho um sistema de upload que envia a foto e grava no mysql e queria fazer um sistema q alterava a imagem sem criar uma nova id no servidor mysql, tem como?

se tiver como fazer isto, como que faço tem algum tutorial ou alguma coisa assim ?

Obrigado Desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente Luciano,

 

Respira!

 

Primeiro de tudo, você vai ter que ter uma conexão com o banco de dados, depois disso, você vai fazer uma consulta no banco de dados, listar tudo que tem na tabela, e puxar para o tal do campo input.

 

Para fazer a consulta:

 

$consulta = mysql_query ("SELECT * FROM tabela WHERE 1")

 

Essa é a forma mais facil e generica de fazer a consulta.

 

Para criar um array, só usar o mysql_fetch_assoc

 

$array = mysql_fetch_assoc($consulta);

 

Depois para puxar no input

 

<form action="" method="">
<input type="hidden" name="campo_id" value="<?=$array['imagem']?>" />
</form>

Obs:

 

<?=?> #é a mesma coisa que <? echo ""; ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu muito certo não tipo eu fiz aki um upload de imagem que leva ao banco de dados:

upload.php

<?php
//requerendo o banco de dados a conexão
include "seguranca/conecta.php";

//PROPRIEDADES DO UPLOAD DO ARQUIVO
$name = $_FILES["logotipo"]["name"];
$type = $_FILES["logotipo"]["type"];
$size = $_FILES["logotipo"]["size"];
$temp = $_FILES["logotipo"]["tmp_name"];
$error = $_FILES["logotipo"]["error"];

if ($error > 0)
{
die("Ouve alguns problemas. ! Codigo do<b></b> Erro: $error.");
}
else
{

if($type == "video/avi" || $size > 2000000) //imagens que pode ser upload, e tamanho de arquivo maximo
{
 die("Arquivo não aceito ou tamanho acima do Limite.");
}
else
{
move_uploaded_file($temp,"imagens/".$name);
echo"Logotipo Atualizado";
} }
$sql = mysql_query("INSERT INTO zbr_logotipos (imagem) VALUES ('$name')");
?>

E criei tambem o:

up_logo.php

<html>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Enviar Logotipo:<p>
<input type="file" name="logotipo"><p>
<input type="submit" value="upload">
</form>
</html>[code]
e fiz um banco de dados com o campo [color="#FF0000"]id[/color] com autocomplete | e criei tambem o campo [color="#FF0000"]imagem[/color] , bom não entendi muito bem a explicação sua poderia dar uma melhorada porque a consulta que tento fazer da erro na $array =/

Veja a consulta que fiz:
[color="#FF0000"]alt_logo.php[/color]

[code]<?php
include "seguranca/conecta.php";

$consulta = mysql_query ("SELECT * FROM zbr_logos WHERE 1")
$array = mysql_fetch_assoc($consulta);{ 
$imagem = $array['imagem'];}
?>
<html>
<form action="" method="">
<input type="hidden" name="imagem" value="<?php echo'$imagem' ?>" />
</form>
</html>

 

uma duvida o action porque é em branco porque tipo a pessoa iria uploadar a nova imagem para subistituir a que já tem no banco de dados.

agora es a questão como faço tudo isto mais simplificado sou meio novo em php hehe.

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo Renan aqueles codigos q você me enviou não consegui utilizalos, deram erros em sitaxe.

Bom tipo eu queria criar um campo tipo file para mudar a imagem da determinado imagem de uma id.

Eu tenho um codigo pronto de enviar foto para diretorio e registrar no mysql mais não sei como modificar para botar para subistituir a imagem da id por outra no campo de upload.

ve ae os codigos:

index.php

<html>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Enviar Logotipo:<p>
<input type="file" name="logotipo"><p>
<input type="submit" value="upload">
</form>
</html>

 

upload.php

<?php
//requerendo o banco de dados a conexão
include "seguranca/conecta.php";

//PROPRIEDADES DO UPLOAD DO ARQUIVO
$name = $_FILES["logotipo"]["name"];
$type = $_FILES["logotipo"]["type"];
$size = $_FILES["logotipo"]["size"];
$temp = $_FILES["logotipo"]["tmp_name"];
$error = $_FILES["logotipo"]["error"];

if ($error > 0)
{
die("Ouve alguns problemas. ! Codigo do<b></b> Erro: $error.");
}
else
{

if($type == "video/avi" || $size > 2000000) //imagens que pode ser upload, e tamanho de arquivo maximo
{
 die("Arquivo não aceito ou tamanho acima do Limite.");
}
else
{
move_uploaded_file($temp,"imagens/".$name);
echo"Logotipo Atualizado";
} }
$sql = mysql_query("INSERT INTO zbr_logotipos (logotipo) VALUES ('imagens/$name')");
?>

agora queria saber como modificar esse codigo para subistituir a img da id não registrar uma nova id com um novo campo de logotipo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vou colocar os codigos agora, pois estou no trabalho, mas vou tentar te explicar a logica mais básica.

 

1 - Você já tem a imagem na pasta imagens e tem ela cadastrada no banco. Ex. id:1 / imagem: nome.jpg

2 - Agora você vai fazer a consulta no banco de dados, puxando os dados para a pagina, eu te mostrei a forma mais simples já.

3 - Depois você vai montar um formulario igual o seu index.php só que no upload.php ao inves de inserir você vai substituir usar o UPDATE, então vamos fazer o arquivo update.php.

4 - Listando o id, no campo input você usa o type="hidden" e no value você colocar o id, que voce pegou pelo array, no caso value="<?=$array['id']?>".

 

*Caso queira mostrar a imagem atual, pode mostrar puxando ela direto da pasta: <img src="imagem/<?=$array['imagem']?>" alt />, e se for muito grande você usa um thumb, mas assunto pra outra hora isso.

 

5 - Você vai precisar enviar o id, dessa imagem para o arquivo update.php, para ele saber em qual id fazer a atualização.

6 - Só fazer $update = mysql_query ("UPDATE nome_tabela SET coluna = '$variavel' WHERE id = '$id' ").

 

*Supundo que você recebeu o id da outra página.

 

Acho que é a forma mais simples que consegui te mostrar agora, qualquer coisa vai postando os códigos.

 

Abraços e um bom dia!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu recebi um erro no codigo de alterar a imagem:

alt_logo.php

<?php
//pegando a conexao
include "seguranca/config.php";
//pegando os resultados
$consulta = mysql_query ("SELECT * FROM tabela WHERE 1")
$array = mysql_fetch_assoc ($consulta);
?>

<html>
<form action="update.php" method="POST" enctype="multipart/form-data">
Enviar Logotipo:<p>
<input type="hidden" name="logotipo"><p>
<input type="submit" value="<?=$array['logotipo']?>">
</form>
</html>

 

Falou o seguinte erro:

Parse error: syntax error, unexpected T_VARIABLE in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\alt_logo.php on line 6

LINHA 6 É:

$array = mysql_fetch_assoc ($consulta);

tem alguma ideia do erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou o ; mas você já viu.

 

Então, voce faz um campo input type file e faz o upload, ai no arquivo upload.php você vai ter que apagar a image que já tem no banco usando o unlink e fazer o upload do novo arquivo e jogar ele na mesma id, no caso voce usa o WHERE na query.

 

Primeiro passo, vamos criar o HTML que vai chamar o PHP para fazer o UPLOAD da IMAGEM (mas pode ser para outros arquivos também)

 

index.php

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FAZER UPLOAD DE ARQUIVOS</title>
</head>

<body>
<form action="upload.php" style="" enctype="multipart/form-data">
<input type="file" name="campo_imagem" />
<input type="submit" value="Enviar" style="font-weight:bold" />
</form>
</body>
</html>

 

Agora aqui vamos fazer o arquivo upload.php, que eu chamo no action="upload.php"

 

<?
require("conecta_banco.php");

$imagem	= $_FILES["campo_imagem"];

if (isset($imagem["name"]) && (strlen($imagem["name"])>2))
{
//Verificar tipo de imagem. Somente JPG é aceito por causa do arquivo de geração de thumbnails (thumb.php)
if (($imagem["type"] != "image/jpeg") && ($imagem["type"] != "image/pjpeg"))
{
	echo "<script> alert(\"Imagem: Formato de imagem invalido. Por favor, envie uma imagem tipo JPEG (.JPG)\"); history.go(-1); </script>";
	exit ();		
}

$img_nome = $imagem["name"];
$img_arquivo = pathinfo($img_nome);
$img_extensao = $img_arquivo["extension"];

$nova_img =  md5(date("YmdHis"));
$nova_img = $nova_img.".".$img_extensao;

$caminho = "imagem/".$nova_img;
move_uploaded_file($imagem["tmp_name"], $caminho);
}
else $nova_img = NULL;

$query  = ("INSERT INTO tabela(imagem) VALUES ('$nova_img')  ");

mysql_query($query) or die(mysql_error());
?>

 

Agora essa sua imagem vai para a pasta imagem e o nome dela vai ser o anomesdhoraminutosegundo pra nunca ter o mesmo nome na tabela, mas isso você pode mudar se quiser no md5(date("YmdHis")).

 

Temos que listar de alguma forma, todas as imagens que estão no banco, então vamos pegar esse exemplo bem simples, com um while

 

<?php
$upload = mysql_query ("SELECT * FROM tabela WHERE 1");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FAZER UPLOAD DE ARQUIVOS</title>
</head>

<body>
<?php
while ($array = mysql_fetch_assoc($upload)) {
?><a href="form_alterar.php?id=<?=$array['id']?>"<img src="imagem/<?=$array['imagem']?>" alt="" /><?
}
?>
</body>
</html>

 

Eu passo via GET o id de cada imagem, com isso você vai poder fazer o UPLOAD da IMAGEM no mesmo ID

 

Agora você vai fazer a ALTERAÇÃO da imagem

 

form_alterar.php

 

<?php
#USANDO O ISSET PARA VER SE É VALIDO O GET#
if(isset($_GET["id"])) $id = addslashes($_GET["id"]);
else exit();

$upload = mysql_query ("SELECT * FROM tabela WHERE id = '$id' LIMIT 1 ");
$array  = mysql_fetch_assoc ($upload);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FAZER UPLOAD DE ARQUIVOS</title>
</head>

<body>
<img src="imagem/<?=$array['imagem']?>" alt="" />
<form action="alterar.php" style="" enctype="multipart/form-data">
<input type="file" name="campo_imagem" />
<input type="hidden" name="campo_nome_imagem" value="<?=$array["imagem"]?>" />
<input type="hidden" name="campo_id" value="<?=$array['id']?>" />
<input type="submit" value="Enviar" style="font-weight:bold" />
</form>
</body>
</html>

 

alterar.php

<?php

require("conecta_banco.php");

$id			= $_POST["campo_id"];

$figura		= $_FILES["campo_imagem"];
$nome_img	= $_POST["campo_nome_imagem"];

if (isset($figura["name"]) && (strlen($figura["name"])>2))
{
//Verificar tipo de imagem. Somente JPG é aceito por causa do arquivo de geração de thumbnails (thumb.php)
if (($figura["type"] != "image/jpeg") && ($figura["type"] != "image/pjpeg"))
{
	echo "<script> alert(\"Imagem: Formato de imagem invalido. Por favor, envie uma imagem tipo JPEG (.JPG)\"); history.go(-1); </script>";
	exit ();		
}

//Verificar se já há uma figura cadastrada
if (strlen($nome_img) > 3) $nova_img = $nome_img;
else
{
	$img_nome = $figura["name"];
	$img_arquivo = pathinfo($img_nome);
	$img_extensao = $img_arquivo["extension"];

	$nova_img =  md5(date("YmdHis"));
	$nova_img = $nova_img.".".$img_extensao;

	//gravar o banco o nome da nova imagem
	$query = ("UPDATE tabela SET imagem = '$nova_img'");

}

$caminho = "imagem/".$nova_img;
move_uploaded_file($figura["tmp_name"], $caminho);	
}

$query .= (" WHERE id = '$id'");

mysql_query($query) or die(mysql_error());
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu já tinha modificado ao decorrente ao method post então mais os erros são muitos ate agora nem sei o q faço pra arrumar =/

Notice: Undefined index: campo_id in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 4

Notice: Undefined index: campo_imagem in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 6

Notice: Undefined index: campo_nome_imagem in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 7

Notice: Undefined variable: query in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 39
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = ''' at line 1

se tiver ideia de como arrumar posta ai colega agradeço desde já .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cola o seu codigo, para eu ver o que tá rolando.

o amigo vlw pela ajuda ai consegui resolver o problema deu uma dor de cabeça mais consegui

add meu msn ae lucianozanita@live.com ate+

TOPIC CLOSE

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.