Hukers 1 Denunciar post Postado Outubro 27, 2016 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. // 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
Maykel-ctba 233 Denunciar post Postado Outubro 27, 2016 Você não está setando nenhum tipo de ordenação em lugar nenhum nesse código. http://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html Compartilhar este post Link para o post Compartilhar em outros sites
Hukers 1 Denunciar post Postado Outubro 27, 2016 Seria algo parecido com isso? mysql_query("SELECT foto FROM imoveis ORDER BY name;"); Se sim, em que parte aplico? Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Outubro 27, 2016 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
Hukers 1 Denunciar post Postado Outubro 27, 2016 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
Hukers 1 Denunciar post Postado Outubro 27, 2016 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