Ir para conteúdo

POWERED BY:

Arquivado

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

Leandromx

[RESOLVIDO] Update no banco

Recommended Posts

Pessoal, Meu sistema envia foto, normalmente.. Só preciso agora trocar o nome no BANCO DE DADOSO script abaixo, envia a nova imagem... Só que na minha tabela não altera o nome antigo da imagem para o novo nome.Agora só faltar mudar o campo FOTO_FOTO para o nome da nova imagem que estou subindo.

$editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) {   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } $foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {   $updateSQL = sprintf("UPDATE fotos SET foto_foto='$foto', nome=%s, rg=%s WHERE ft_id=%s",                        GetSQLValueString($_POST['nome'], "text"),                        GetSQLValueString($_POST['rg'], "text"),                        GetSQLValueString($_POST['ft_id'], "int")); function geraImg($img, $max_x, $max_y, $imgNome) {     //pega o tamanho da imagem ($original_x, $original_y)     list($width, $height) = getimagesize($img);     $original_x = $width;     $original_y = $height;     // se a largura for maior que altura acho a porcentagem     if($original_x > $original_y) {        $porcentagem = (100 * $max_x) / $original_x;           }     else {        $porcentagem = (100 * $max_y) / $original_y;       }     $tamanho_x = $original_x * ($porcentagem / 100);     $tamanho_y = $original_y * ($porcentagem / 100);     $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);     $image = imagecreatefromjpeg($img);     imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);     return imagejpeg($image_p, $imgNome, 100); } geraImg($fotoTmp, 640, 480, "../fotos/".$foto);   mysql_select_db($database_rsConexao, $rsConexao);   $Result1 = mysql_query($updateSQL, $rsConexao) or die(mysql_error());   $updateGoTo = "foto.php";   if (isset($_SERVER['QUERY_STRING'])) {     $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";     $updateGoTo .= $_SERVER['QUERY_STRING'];   }   header(sprintf("Location: %s", $updateGoTo)); } ?> 

Alguém tem ideia de como alterar o nome no banco??? só falta isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você atribuiu o valor do nome da foto á variável $foto corretamente. Você também inseriu a variável $foto na SQL adequadamente. Deveria estar dando certo. Qual é o valor que fica armazenado no banco após a atualização? Se for uma string vazia. dê um echo em $foto para ver se ela não está vazia.

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo, continua a foto antiga...vou dar um exemplo.nome meu BD está assim foto1.jpgVou trrocar para foto2.jpgA foto2 up na pasta.. mas no campo da minha tabela continua a foto1.jpg Sinceramente... não sei mais o que fazer..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dados antigos mesmo...

Só a foto que não está mudando no banco...

A foto nova SOBE para a PASTA indicada..

Mas nada de alterar no sistema e nem no banco.. continua a mesma foto e o mesmo nome no BD..

Tem alguma ideia????

 

Estou usando o exemplo do Leandro Vieira

http://www.imasters.com.br/artigo/3866/mys...s_postar_fotos/

 

Nada tbm cara...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei mudar aqui mas não deu...Eu troquei pela a antiga e não foi... deu erroParse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/site/public_html/secretaria/alterar/foto.php on line 57

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo.. tem ideia de como resolvermos isso??? Já tentamos de tudo...ou melhor até nosso limite...Daqui pra frente... só para quem entende de verdade

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, beleza...

você fez o que o beraldo disse:

deu um echo em:

 

$foto = $_FILES['foto_foto']['name'];
para ver se o nome da nova foto está ok....?

 

e mais uma coisa, na condição WHERE o ID está sendo setado certo ? veja ae... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que o Beraldo disse dá erro

 

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/site/public_html/site/alterar/foto.php on line 58

 

$foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = "UPDATE fotos SET foto_foto='$foto', nome='" . $_POST['nome'] . "', rg='" . $_POST['rg'] . "' WHERE ft_id=$_POST['ft_id']";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então como disse, a foto nova esta subindo para a pasta sem problemas.Só nao esta editando o nome no banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colocar meu código original para vcs verem

 

$editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) {   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } $foto = $row_rsAlterarDadosFoto['foto_foto']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {   $updateSQL = sprintf("UPDATE fotos SET foto_foto='$foto', nome=%s, rg=%s WHERE ft_id=%s", 					   GetSQLValueString($_POST['nome'], "text"), 					   GetSQLValueString($_POST['rg'], "text"), 					   GetSQLValueString($_POST['ft_id'], "int")); function geraImg($img, $max_x, $max_y, $imgNome) { 	//pega o tamanho da imagem ($original_x, $original_y) 	list($width, $height) = getimagesize($img); 	$original_x = $width; 	$original_y = $height; 	// se a largura for maior que altura acho a porcentagem 	if($original_x > $original_y) { 	   $porcentagem = (100 * $max_x) / $original_x;	   	} 	else { 	   $porcentagem = (100 * $max_y) / $original_y;   	} 	$tamanho_x = $original_x * ($porcentagem / 100); 	$tamanho_y = $original_y * ($porcentagem / 100); 	$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); 	$image = imagecreatefromjpeg($img); 	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); 	return imagejpeg($image_p, $imgNome, 100); } geraImg($fotoTmp, 640, 480, "../fotos/".$foto);

Compartilhar este post


Link para o post
Compartilhar em outros sites

DesistooSe vcs que são os feras não consegue....Eu muito menos...Obrigado pela atenção de todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

iiiiiiiiiiiiiiiiiiiiiiiiiiiiDesiste não cara..Vamos tentar.... estou com esse problema tbm..Vamos trabalhar junto nisso...Algume do fórum sempre ajuda...Guenta as pontas ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

A luta continua ainda..

Vamos lá...

Vou postar o que já tentei fazer esses dias..

 

Meu código é o mesmo de cima...

Coloquei o código abaixo e deu isso aqui


$fotoTmp = $_FILES["foto_foto"]["tmp_name"];

 

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {

 

 

$updateSQL = ("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s"); linenums:0'>$foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = ("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s");

A foto sobe na pasta mas não senta no banco e dá esse erro aqui

 

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 '%s' at line 1

 

Coloquei assim agora.

 


$fotoTmp = $_FILES["foto_foto"]["tmp_name"];

 

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {

 

 

$updateSQL = mysql_query("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s"); linenums:0'>$foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = mysql_query("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s");

Deu esse erro aqui

Query was empty

 

 

Alguém Pelo amor do Senhor JESUS .. me ajude...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada ainda cara...Usando o sprintf() a foto sobe para a pasta mas ainda não troca o nome no BD...

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.