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'>";
}
?>
Pergunta
biza
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:
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. Para o restante codigo utilizoo seguinte, que foi a ideia tirada do insert:Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.