Ir para conteúdo

Arquivado

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

helkton

Upload múltiplo

Recommended Posts

Olá pessoal seguinte...



Tenho um pequeno script php que é para cadastro de imagens em uma TABELA para uma galeria de FOTOS DE IMÓVEIS e ao mesmo tempo pegar os dados do imóvel e cadastrar EM OUTRA TABELA. Bom a principio ela esta funcionando pois o script pega todas as fotos que irão ser upadas manda elas para uma pasta, cadastra o nome delas no banco de dados em uma tabela GALERIA e também pega os dados do imóvel e cadastra estes dados em TABELA chamada IMOVEIS.



Porém agora é que vem o meu problema


digamos que eu selecione 5 fotos de imóveis certo para cada foto que for cadastrada ele irá fazer o cadastro para imóveis, ou seja, terá 5 cadastros de imóveis repetidos sendo que o que eu quero é apenas um cadastro de imóvel com as 5 fotos deste respectivo imóvel.


Segue o script...



<?php
if(isset($_POST['upload'])){
$IdImovel = $_POST['IdImovel'];
$Categoria = $_POST['Categoria'];
$Titulo = $_POST['Titulo'];
$Valor = $_POST['Valor'];
$Cidade = $_POST['Cidade'];
$Estado = $_POST['Estado'];


//INFO IMAGEM
$file = $_FILES['img'];
$numFile = count(array_filter($file['name']));

//PASTA PARA UPLOAD
$folder = '../uploads';


//REQUISITOS
$permite = array('image/jpeg', 'image/png');
$maxSize = 1024 * 1024 * 5;

//MENSAGENS
$msg = array();
$errorMsg = array(
1 => 'Imagem maior que o limite',
2 => 'o arquivo ultrapassa o limite',
3 => 'upload feito parcialmente',
4 =>'Não foi feito'
);

if($numFile <= 0)
echo'Selecione uma imagem';
else{
for($i = 0; $i < $numFile; $i++){
$name = $file['name'][$i];
$type = $file['type'][$i];
$size = $file['size'][$i];
$error = $file['error'][$i];
$tmp = $file['tmp_name'][$i];

$extensao = end(explode('.', $name));
$novoNome = 'nome' .rand().".$extensao";

if($error != 0)
$msg[''] = "<b> $name:</b>".$errorMsg[$error];
else if(!in_array($type, $permite))
$msg[] = "<b>$name:</b> Erro imagem não suportada!";
else if($size > $maxSize)
$msg[] = "<b>$name:</b> Erro imagem ultrapassa limite de 5MB!";
else{
if(move_uploaded_file($tmp, $folder."/".$novoNome))
$sqlFotos = mysql_query("INSERT INTO galeria (IdImovel,imagem) VALUES ('$IdImovel','$novoNome')");
$sqlImoveis = mysql_query("INSERT INTO imoveis (CatID,Titulo,Valor,Cidade,Estado) VALUES ('$Categoria','$Titulo','$Valor','$Cidade','$Estado')");
echo '<script>alert("Cadastro realizado com sucesso")</script>';

}

foreach($msg as $pop)
echo $pop.'<br>';
}
}
}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua lógica está errada! ^_^

 

Primeiro você cadastra o imóvel e fora do "loop", pega o id deste cadastro com mysql_insert_id que é seu caso, seta em uma variavel para facilitar a vida, após isso faça o cadastro das fotos e com a chave estrangeira junto, no caso a última id gerada da tabela, o qual é resgatada com mysql_insert_id da table imoveis. :hehehe:

 

Tem que haver um relacionamento.

 

http://www.arquivodecodigos.net/dicas/mysql-aprenda-a-usar-chaves-estrangeiras-foreign-keys-em-suas-tabelas-mysql-3503.html

http://www.devmedia.com.br/criando-uma-chave-estrangeira-no-mysql/20299

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.