Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) update formulario de upoad (quebra pau)


biza

Pergunta

ai pessoa tenho um formulario, que esta resgatando dados vindos de uma tabela, logo o formulario é preenchido com dados provenientes da tabela.

aqui eu faço um select e o id da linha editada, cujo o codigo é o seguinte:

<?php 

$sqlp = "SELECT * FROM viaturas  WHERE id = ".$_GET['id'];
$resultado = mysql_query($sqlp)or die ("Não foi possível realizar a consulta.");
$linha=mysql_fetch_array($resultado);
?>
aqui eu faço o seguinte caso o botão seja precionado, ele selecciona os campos foto da tabela viaturas que se pretende editar bem aqui é onde reside o meu problema eu faço um novo select para resgatar os dados da tabela viaturas campo foto 1 foto2 ... e depois faço a verificação e tento unlik dos campos caso existão os mesmos preenchido. essa é a parte que eu não sei se estou a fazer bem.
if (isset($_REQUEST['submit'])) {
    set_time_limit(0); 
    $data = date("Y-m-d");
    
        $sqlf="SELECT foto1, foto2, foto3, foto4, foto5, foto6, foto7, foto8 FROM viaturas WHERE id=".$_GET['id'];
    $resultadof = mysql_query($sqlf) or die ("Não foi possível realizar a consulta.");
    if (mysql_num_rows($resultadof)!=0) //se a foto já existir, ou seja, se a query q vai buscar o nome da foto retornar algum resultado (dia o teste ser se o numero de resultados for diferente de zero) então remover o ficheiro
    {
        $linhaf=mysql_fetch_array($resultadof);
        //remoçao
        $do = unlink($pasta_imagens. $linhaf['foto1'], $pasta_imagens. $linhaf['foto2'], $pasta_imagens. $linhaf['foto3'], $pasta_imagens. $linhaf['foto4'],
        $pasta_imagens. $linhaf['foto5'], $pasta_imagens. $linhaf['foto6'], $pasta_imagens. $linhaf['foto7'], $pasta_imagens. $linhaf['foto8']);
        if($do=="1")
            echo "Imagem antiga removida.";
        else 
            echo "Erro ao apagar imagem antiga.";
    }
Para o restante codigo utilizoo seguinte, que foi a ideia tirada do insert:
$imagens = $_FILES['arquivo'];
for($g=0; $g<=7; $g++)
//for($g=0; $g < sizeof($imagens); $g++)
// for ($g = 0; $g < count($imagens); $g++)
if($nome = $_FILES['arquivo']['name'][$g] != ""){ // para campos vazios
{
        $nome = $_FILES['arquivo']['name'][$g];
        $tipo = $_FILES['arquivo']['type'][$g];
        $tmpname = $_FILES['arquivo']['tmp_name'][$g];

        $renomear = md5(uniqid(rand(), true)); // nome aleatorio
        $nome_grande  = ($renomear . "-g.jpg"); // cria nome da imagem
      
        
        $matriz[] = $nome_grande;
        
        
        $pasta_imagens = "../cars/"; //diretorio pra onde vai a imagem
        $caminho = $pasta_imagens . $nome; // caminho com nome da imagem e local para guardar

        //---------------------------------- CRIAR IMAGEM PROPORCIONAL -------------------------------------------

        if(move_uploaded_file($tmpname, $caminho)) // move a tmp_name pro caminho dado
        {
                list($pontoX, $pontoY, $tipo) = getimagesize($caminho);
                $img = imagecreatefromjpeg($caminho);
                $largura_maxima = 640; //largura máxima
                $altura_maxima = 480; //altura máxima

                        if ($pontoX == $pontoY) { // se a altura e largura originais forem iguais
                        $largura = $largura_maxima;
                        $altura = $largura_maxima;
                        }
                        elseif ($pontoX >= $pontoY) { // se a largura for maior que a altura
                        $nova_largura = $largura_maxima;
                        $nova_altura = ($pontoY*$nova_largura)/$pontoX;
                                // mas se depois da redução a altura for maior que $altura_maxima então reduz novamente
                                if ($nova_altura >= $altura_maxima) {
                                $altura = $altura_maxima;
                                $largura = ($nova_largura*$altura)/$nova_altura;
                                }
                                else {
                                $largura = $largura_maxima;
                                $altura = ($pontoY*$largura)/$pontoX;
                                }
                        }
                        elseif ($pontoX <= $pontoY) { // se a largura for menor que a altura
                        $nova_altura = $altura_maxima; 
                        $nova_largura = ($pontoX*$nova_altura)/$pontoY;
                                // mas se depois da redução a largura for maior que a $largura_maxima então reduz novamente
                                if ($nova_largura >= $largura_maxima) {
                                $largura = $largura_maxima;
                                $altura = ($nova_altura*$largura)/$nova_largura;
                                }
                                else {
                                $altura = $altura_maxima; 
                                $largura = ($pontoX*$altura)/$pontoY;
                                }
                        }

                        $foto_grande = imagecreatetruecolor($largura, $altura); // aqui eu pego a imagem no caminho e jogo na memoria
                        imagecopyresampled($foto_grande, $img, 0, 0, 0, 0, $largura, $altura, $pontoX, $pontoY); // sample da imagem com o tamanho
                        imagejpeg($foto_grande, $pasta_imagens . $nome_grande, 100);
                        
                        unlink($caminho); // apaga a imagem original

            } // if move_uploaded_file
}// fecha if dos campso vazios
}
    
$sql = "UPDATE viaturas SET modelo='".$_POST['modelo']."', preço='".$_POST['preço']."', quilometros='".$_POST['quilometros']."', velocidades='".$_POST['velocidades']."', cilindrada='".$_POST['cilindrada']."', cor_car='".$_POST['cor_car']."', cor_int='".$_POST['cor_int']."', potencia='".$_POST['potencia']."', portas='".$_POST['portas']."', ano='".$_POST['ano']."',  data='$data',  observacoes='".$_POST['observacoes']."', cat_id='".$_POST['cat']."', id_marca='".$_POST['marc']."',id_combustivel='".$_POST['comb']."',foto1='$matriz[0]',foto2='$matriz[1]',foto3='$matriz[2]',foto4='$matriz[3]',foto5='$matriz[4]',foto6='$matriz[5]',foto7='$matriz[6]',foto8='$matriz[7]'  WHERE id = ".$_GET['id'];

  
  $sql = mysql_query( $sql ) or die( "Houve erro na gravação dos dados." );
  echo "Upload realizado com sucesso!"; 



  
  $carroId = mysql_insert_id();
  foreach ( $_POST['equipamentos'] as $equipamentoId )
  {
  
          mysql_query( "INSERT INTO viatura_equipa (viatura_id, equipamento_id) VALUES ($carroId, $equipamentoId)" );
  }
  
  
  echo "<meta http-equiv='refresh' content='0;URL=index2.php?pag=via'>";
}
?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

a duvida que tenho é sei que a parte de baixo do formulário esta a funcionar bem e faz upload das imagens para o banco de dado e destino, a duvida que eu tenho é se esta query que estou a fazer esta correcta para ir ao banco de dados e ao caminho onde esta a imagem, elimina-la caso exista la alguma, e se isto deverá ser feito assim .trata-se de um formulário de edição.logo trabalha com dados devolvidos.

ele tem de verificar se a imagem existe ?

se existe e se o utilizador quiser alterar tem de fazer unlink da mesma , caso não queira ela não altera que la esta.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...