Ir para conteúdo

POWERED BY:

Arquivado

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

Hukers

Ordenar imagens

Recommended Posts

Bom dia, estou iniciando ainda na programação com PHP, e me deparei com esse problema. O site pega as imagens diretamente do sistema, ou seja, a ordem colocada no sistema deveria permanecer no site, porém, não está acontecendo isso, está tudo desordenado, apenas as últimas imagens obedecem a ordenação correta. Olhei no xml do sistema, e as imagens estão sendo upadas corretamente.

Obrigado.

Sa25zYO.png

1g3WzvX.png

 
// limpar fotos existentes
$query = "SELECT imagem, thumb FROM imovel_galeria WHERE id_imovel = {$imovel['id']}";
$result = mysql_query($query);
while($data = mysql_fetch_assoc($result)) {
unlink($base_dir . $data['imagem']);
unlink($base_dir . $data['thumb']);
}
mysql_query("DELETE FROM imovel_galeria WHERE id_imovel = {$imovel['id']}");
 
$query = "SELECT foto FROM imoveis WHERE id = {$imovel['id']}";
$result = mysql_query($query);
while($data = mysql_fetch_assoc($result)) {
if($data['foto']) {
unlink($base_dir . $data['foto']);
}
}
mysql_query("UPDATE imoveis SET foto='' WHERE id = {$imovel['id']}");
 
$foto_capa = (string)$fotos[0];
// processa foto de capa
if(!empty($foto_capa)) {
$filename = "immobile/{$foto_capa}";
if(is_file($filename)) {
$save = "/capa/" . microtime(true) . $foto_capa;
 
// corta imagem e salva no diretório
resize_image($filename, array(350, 350), true)
->saveToFile("cms/imovel" . $save);
 
// atualiza banco de dados
$query = "UPDATE imoveis SET foto='{$save}' WHERE id = {$imovel['id']}";
  mysql_query($query);
}
}
 
// processa galeria
for($i = 1; $i < count($fotos); $i++) {
$foto = (string)$fotos[$i];
if(!empty($foto)) {
$filename = "immobile/{$foto}";
if(is_file($filename)) {
// imagem
$save_image = "/fotos/g/" . time() . $foto;
 
// corta imagem e salva no diretório
resize_image($filename, array(740, 555))
->saveToFile("cms/imovel" . $save_image);
 
// thumbnail
$save_thumb = "/fotos/p/" . time() . $foto;
 
// corta imagem e salva no diretório
resize_image($filename, array(120, 90))
->saveToFile("cms/imovel" . $save_thumb);
 
 
// atualiza banco de dados
$query = "INSERT INTO imovel_galeria (id_imovel, imagem, thumb) 
VALUES ({$imovel['id']}, '{$save_image}', '{$save_thumb}')";
mysql_query($query);
}
}
}
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer ordenar pelo campo nome?

Se sim, é isso mesmo.

Agora assim, em qual select colocar eu já não tenho como dizer. Me parece (analisando seu código) que aquele primeiro select não serve para exibir as imagens, e sim selecioná-las para apagar.

O ponto-e-vírgula também nesse caso alí é desnecessário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, o primeiro select exclui as fotos duplicadas, só tenho que encontrar aonde coloca-lo no código :)

Obrigado pela ajuda, vou testar aqui, caso eu não encontrar, volto ao tópico :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, consegui ordenar, tive que usar um array_reverse pois na primeira inclusão estava ficando ao contrário.

Porém ao atualizar uma foto no sistema, ele perdia a ordem, sendo assim coloquei essa query novamente aonde ele atualiza, porém as fotos ficam ao contrário, sabe como me ajudar? Pois o array já está reverse..


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.