ola pessoal este é sem duvida o meu maior pesadelo, estou a dar em maluco com esse form que pega os dados vindos do banco de dados , a questão é que eu quero que ele verifique se já existe imagem no banco e caso exista e se a pessoa quiser modificar modifica. caso se tenha esquecido de meter a imagem, ter a oportunidade de meter a imagem.
basicamente ele so edita os campos que estiverem mal os que não forem editados não se modificam.
<?
set_time_limit(0);
$data = date("Y-m-d");
$imagens = $_FILES['arquivo'];
if (isset($_REQUEST['submit']))
{
$sql1 = "Select imagem1, imagem2, imagem3, imagem4, imagem5, imagem6, imagem7, imagem8 FROM viaturas where id=".$_GET['id'];
$sql1 = mysql_query($sql) or die ("a pesquisa não foi bem sucedida");
$imgs = mysql_fetch_array($sql1);
$arquivo[0] = $imgs['Foto1'];
$arquivo[1] = $imgs['Foto2'];
$arquivo[2] = $imgs['Foto3'];
$arquivo[3] = $imgs['Foto4'];
$arquivo[4] = $imgs['Foto5'];
$arquivo[5] = $imgs['Foto6'];
$arquivo[6] = $imgs['Foto7'];
$arquivo[7] = $imgs['Foto8'];
$pasta_imagens = "../cars/";
for ($i=0; $i<7;$i++) {
$foto_mini = $pasta_imagens.$arquivo[$i];
//aqui ele vai ver se existe alguma coisa escrita no campo foto_receita na tabela
///É necessario enviar junto ao file, um campo hidden contendo o valor dos campos das fotos no banco de dados pois, se não enviar, haverá sobscrição no banco e a imaghem que já esta cadastrada terá seu valor apagado
echo "
<input type='file' name='arquivo[]'>
";
}//Fimdo for
if($nome = $_FILES['arquivo']['name'][$i] != ""){ // para campos vazios
{
$nome = $_FILES['arquivo']['name'][$i];
$tipo = $_FILES['arquivo']['type'][$i];
$tmpname = $_FILES['arquivo']['tmp_name'][$i];
$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_insere= mysql_query("UPDATE viaturas SET imagem1='$matriz[0]', imagem2='$matriz[1]', imagem3='$matriz[2]', imagem4='$matriz[3]', imagem5='$matriz[4]', imagem6='$matriz[5]', imagem7='$matriz[6]', imagem8='$matriz[7]' WHERE id=".$_GET['id']);
}
$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']."' WHERE id = ".$_GET['id'];
$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");
$carroId = mysql_insert_id();
foreach($_POST['equipamentos'] as $equipamentoId){
$sql2="UPDATE viatura_equipa SET viatura_id = '$carroId', equipamento_id='$equipamentoId' WHERE viatura_id=".$_GET['id'];
$sql2 = mysql_query($sql2)
or die ("Houve erro na gravação dos dados.");
}
echo "<meta http-equiv='refresh' content='0;URL=index2.php?pag=via'>";
}
?>
Pergunta
biza
ola pessoal este é sem duvida o meu maior pesadelo, estou a dar em maluco com esse form que pega os dados vindos do banco de dados , a questão é que eu quero que ele verifique se já existe imagem no banco e caso exista e se a pessoa quiser modificar modifica. caso se tenha esquecido de meter a imagem, ter a oportunidade de meter a imagem.
basicamente ele so edita os campos que estiverem mal os que não forem editados não se modificam.
me ajudem por favor!
Link para o comentário
Compartilhar em outros sites
4 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.