AndreLC90 0 Denunciar post Postado Abril 18, 2012 Boa tarde, Hoje tive uma reunião com um cliente sobre o BackOffice que estou a desenvolver para imóveis e o cliente solicitou-me três alterações que me indignaram um pouco, pelo menos, a primeira delas: 1 - Tenho a gestão de Imóveis, Agências e Agentes Comerciais. No Front-End o cliente queria que a referência do imóvel se pudesse visualizar da seguinte maneira: ID da Agência - ID do Agente - ID do Imóvel. E eu com um INNER JOIN juntei as referências todas e tudo bem. Mas tinha percebido mal... O que o cliente pretende é mesmo na Base de Dados, num campo - por exemplo, no ID do imóvel (que actualmente está como auto increment e é chave primária) pudesse também juntamente ter os restantes id's, e justificou-se: 101-1001-40 (A agência é a número 101, o Agente 1001 e o imóvel 40), O que indica que o Agente 1001 da Agência 101 já possui 40 imóveis. Quando se registasse, por exemplo, o agente 1002, os imóveis voltavam a 1 (mas isto tudo no mesmo campo - o que me indignou): 101-1002-1 (O primeiro imóvel do Agente 1002) ... 101-1002-02 (O Segundo imóvel do Agente 1002) .... Eu refutei que como estava com auto increment não dava para fazer isso, só se não fosse auto increment e colocasse a referência à mão e o cliente excluiu essa hipótese, porque queria isto de maneira automática. Novamente, disse que isso era pouco ético, que ia contra as regras das Base de Dados e que os id's são para serem únicos, mas o cliente refere que os outros sites de imobiliárias também têm isso e então o dele também tem que ter. Que trabalham muito com essa referência e muito trabalho depende dela. Ressaltou, que como tenho, está: 101-1001-40 E depois se registasse o agente 1002 o imóvel seria o 41 101-1002-41 E que revelaria que tinha já 41 imóveis o que não é verdade! De um certo ponto aqui tem razão. Disse que nem que resolvesse com 3 Base de Dados! E agora, como resolvo isto? 1 - Penso que a ideia é não mostrar o ID do imóvel, mas sim um número calculado na altura de inserção, ou seja, antes de inserir tenho que verificar qual é o número máximo existente daquela combinação de agente e agência, somar um, e guardar junto com o registo. Se não existir nenhum, é o 1. Mas não estou a ver como fazer. Agradeço a vossa ajuda. 2 - Quer que, por regra, os imóveis só estejam visíveis durante 60 dias no Front-End, depois desaparecem, mas não desaparecem totalmente, ficando na BD. Como procedo para elaborar isto? 2 - Tenho que filtrar cuja data de inserção já foi há mais de 60 dias. Talvez na query o "WHERE DATEDIFF(CURDATE(), data_insercao) < 60" resolva correcto? Mas isto para um campo que é do tipo DATE eu tenho um campo data que queria aproveitar que está em timestamp, como converto? Ou é preferível trabalhar com DATE? Posteriormente é necessário utilizar cronjobs? Obrigado. 3 - Ter as opções de Guardar em .pdf e o Imprimir quando se regista a ficha do imóvel (a meu ver deve ser preferível na parte de visualização da ficha do imóvel) Podem-me indicar como também posso tendo os dados na BD guardar/exportar para .pdf para que possa fazer a opção de guardar e posterior impressão? Obrigado pela ajuda, Cumprimentos, AndreLC90 Compartilhar este post Link para o post Compartilhar em outros sites
Massaki 47 Denunciar post Postado Abril 18, 2012 Vou responder a 2 e a 3 2 - É preferível descobrir qual dia é o 60º para trás a partir de hoje e colocar na query assim: WHERE data_insercao > '$data60dias'. E o campo tem que ser DATE. 3 - Use a biblioteca FPDF, que é bem fácil de usar. Ela tem a opção de salvar no servidor, mostrar no browser ou forçar download. Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 18, 2012 Vou responder a 2 e a 3 2 - É preferível descobrir qual dia é o 60º para trás a partir de hoje e colocar na query assim: WHERE data_insercao > '$data60dias'. E o campo tem que ser DATE. 3 - Use a biblioteca FPDF, que é bem fácil de usar. Ela tem a opção de salvar no servidor, mostrar no browser ou forçar download. 2 - Mas e que contas teria que fazer na $data60dias? $data_insercao + 60? 3 - Obrigado pela dica, vou estudar essa biblioteca. 1 - Quanto ao 1 alguém me poderá dar uma ajuda? Obrigado pela ajuda e atenção! Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Ianni 189 Denunciar post Postado Abril 18, 2012 Bom, pelo que entendi: 1-) Crie uma tabela separada contendo os "detalhes do corretor" nessa tabela existirá o id do corretor e o id do imovel. Cada vez que o corretor cadastrar um imovel novo, é inserido também nessa tabela. Assim quando quiserem ter os relatórios de produção do corretor, bastará usar essa tabela para obter os dados, seja uma relação contendo o nome do corretor e os endereços dos imoveis (ou qualquer outra informação que julgar mais adequada), seja uma contagem de imoveis cadastrados pelo corretor. A ideia é algo similar ao sistema de pedidos de um e-commerce básico, onde temos o id do pedido e quais produtos compõe esse pedido. 2-) Eu colocaria um campo booleano chamado ativo (ou qualquer outro nome), dai basta comparar a data atual com a data do cadastro do imovel, caso seja igual ou superior a 61, você altera esse campo mudando seu status de true pra false e o sistema deixa de exibir. Para isso bastará colocar como parametro na(s) query(s) que exibem os imoveis para que só peguem imoveis em que o ativo esteja true. Prefiro essa abordagem do que instruir via script que compare a data de cada imovel, e só exiba as que forem inferior a 61, pois num banco de dados com muito registro ou muito acessos isso certamente faria o sistema ficar mais lento. 3-) O uso do fpf é uma boa alternativa como apontado pelos colegas, e sua implementação é bem tranquila, tendo bastante documentação sobre seu uso. Compartilhar este post Link para o post Compartilhar em outros sites
JoaoGusmao 2 Denunciar post Postado Abril 18, 2012 Esse cara tem acesso ao sistema das outras agencias para afirmar que eles fazem dessa forma? Isso pra min é absurdo. A minha sugestão seria justamente a que você apontou no final do item 1. Não vejo outra solução. Meu deus... se o pessoal da minha cidade fosse assim, eu desistia; Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 18, 2012 Bom, pelo que entendi: 1-) Crie uma tabela separada contendo os "detalhes do corretor" nessa tabela existirá o id do corretor e o id do imovel. Cada vez que o corretor cadastrar um imovel novo, é inserido também nessa tabela. Assim quando quiserem ter os relatórios de produção do corretor, bastará usar essa tabela para obter os dados, seja uma relação contendo o nome do corretor e os endereços dos imoveis (ou qualquer outra informação que julgar mais adequada), seja uma contagem de imoveis cadastrados pelo corretor. A ideia é algo similar ao sistema de pedidos de um e-commerce básico, onde temos o id do pedido e quais produtos compõe esse pedido. 2-) Eu colocaria um campo booleano chamado ativo (ou qualquer outro nome), dai basta comparar a data atual com a data do cadastro do imovel, caso seja igual ou superior a 61, você altera esse campo mudando seu status de true pra false e o sistema deixa de exibir. Para isso bastará colocar como parametro na(s) query(s) que exibem os imoveis para que só peguem imoveis em que o ativo esteja true. Prefiro essa abordagem do que instruir via script que compare a data de cada imovel, e só exiba as que forem inferior a 61, pois num banco de dados com muito registro ou muito acessos isso certamente faria o sistema ficar mais lento. 3-) O uso do fpf é uma boa alternativa como apontado pelos colegas, e sua implementação é bem tranquila, tendo bastante documentação sobre seu uso. 1 - Tenho: - tbl Agência com PK id_agencia - tbl Agente com PK id_agente e FK id_agencia - tbl Imoveis com PK id e FK id_agencia e id_agente Contagem não pode ser porque repara: Há um pequeno pormenor. Muita base do negócio gere à volta das referências e se o Agente 1000 está com o imóvel 1000, por exemplo 100-1000-10 e ao apagar o 100-1000-9, não quero que o 100-1000-10 passe para 100-1000-9, porque senão o cliente depois iria comprar o imóvel errado! 2 - Exacto mas é isso.. A ideia seria mostrar os que tivessem 60 dias como status Activo e depois desse dia fazer um Update para que ao 61 dia colocado o estado como "expirado", por exemplo. Como faço isso? Poderás exemplificar, por favor? Obrigado. 3 - vou estudar essa biblioteca. Obrigado pela ajuda. Esse cara tem acesso ao sistema das outras agencias para afirmar que eles fazem dessa forma? Isso pra min é absurdo. A minha sugestão seria justamente a que você apontou no final do item 1. Não vejo outra solução. Meu deus... se o pessoal da minha cidade fosse assim, eu desistia; Pois só que não estou a ver como elaborar em código... Obrigado pela força! Compartilhar este post Link para o post Compartilhar em outros sites
JoaoGusmao 2 Denunciar post Postado Abril 18, 2012 Acho que você vai ter que debater mais com seu cliente, pois vai dificultar muito isso que ele está pedindo. Mas essa questão de ter o imóvel apagado realmente pega. O que você pode fazer, é uma tabela separada com o auto-increment do mysql e usa o mysql_insert_id($id_da_conexão) para saber qual é o próximo id. Não aconselho, pois daria no mesmo de fazer de outra forma. Mas dá uma mascarada, e o resultado é o que o cliente pediu. Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 18, 2012 Acho que você vai ter que debater mais com seu cliente, pois vai dificultar muito isso que ele está pedindo. Mas essa questão de ter o imóvel apagado realmente pega. O que você pode fazer, é uma tabela separada com o auto-increment do mysql e usa o mysql_insert_id($id_da_conexão) para saber qual é o próximo id. Não aconselho, pois daria no mesmo de fazer de outra forma. Mas dá uma mascarada, e o resultado é o que o cliente pediu. Mas ou não percebi bem ou iria ser igual. Pois repara: A meu ver o id_imovel não pode ser o real, porque o que tenho de momento é: Imovel(idImovel, idAgencia, idAgente,...) ou seja adiciono o primeiro imovel ao agente 1001 da agencia 101 (1,101,1001) Se for buscar o resultado por aqui ao mostrar ficaria 101-1001-1 Agora se adicionar o segundo imóvel para o agente 1002 da agencia 101 (2,101,1002) Ao mostrar ficaria 101-1002-2 E é ali naquele 2 que se queixam e por um lado faz sentido, porque como trabalham muito com as referências e é a base do negócio estava a indicar que o agente 1002 já teria 2 imóveis na sua posse o que não é real. Acho que terei que ter outro campo e fazer somas ou subtracções e controlar cada vez que adicionar um imovel para aquele agente somo ou subtrai 1 nesse novo campo que ireia mostrar, penso eu. Para indicar o número de imóveis daquele agente. Mas não posso fazer o count como expliquei, pois se o Agente 1000 está com o imóvel 1000, por exemplo 100-1000-10 e ao apagar o 100-1000-9, não quero que o 100-1000-10 passe para 100-1000-9, porque senão o cliente depois iria comprar o imóvel errado! Consegui explicar-me melhor? Obrigado pelas ajudas. Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Ianni 189 Denunciar post Postado Abril 19, 2012 Discordo João, assim como discordo de ficarem indignados com a exigencia do cliente. Me parece que estão vendo isso apenas com os olhos de programador/funcionario, e não com os olhos do empreendedor/gestor. O cliente está correto em querer um recurso ou ferramenta que lhe ofereça dados precisos sobre o seu negócio, e para poder saber exatamente como está a empresa ele precisa disso, não importa se vai ter que remodelar o banco de dados ou ter que derrubar uma parede. Ele precisa saber qual funcionario é mais produtivo e qual não é para com base nesses dados tomar alguma atitude. É como no meio publicitário, como vou saber se uma campanha é mais eficiente no twitter ou no facebook ? É necessário dados precisos para ter certeza onde investir o dinheiro e obter o retorno esperado. Pensem sempre com a cabeça do empresário, somente assim poderão entender e antecipar as necessidades do cliente. Voltando ao assunto, não visualizei direito a questão do banco de dados no item 1, mas suponho que esse sistema possua niveis de acesso, possuindo assim, uma hierarquia na forma que esses dados são acessados e manipulados. Caso não tenha, é necessário providenciar. A ideia é: Aquele que pode apagar definitivamente o registro, na verdade não o apagaria ele definitivamente, o registro apenas deixa de ser exibido. O objetivo disso é manter a integridade da informação relacionada a esse registro. O status do registo é que é alterado, assim, se o imovel for vendido, o registro dele muda de "a venda", para "Vendido" e quando for "apagado" o status é alterado para "indisponivel" Pensando no e-commerce, se um produto é apagado do banco de dados, como ficariam os registros de todas as vendas desse produto ? Ia virar uma sequencia absurda de erros e violações que somente a eliminação manual de todas as referencias a esse produto garantiria a volta do funcionamento normal do sistema. Mas e se pensarem em voltar a ter esse produto a venda novamente passado algum tempo ? Como saber se valerá a pena ? Provavelmente seriam requisitados relatorios de venda desse produto no periodo em que ele esteve na prateleira para saber se compensa te-lo ou quantas unidades devem ser encomendadas. O mesmo se aplica ao seu sistema. Veja, o imovel entrou e saiu da carteira, mas daqui um tempo ele retorna, como pode ser dada uma estimativa de venda se não se tem o registro do tempo que o imovel entrou no cadastro e foi vendido ? Ou o corretor trabalhou algum tempo na empresa, saiu e agora quer retornar, como saber se compensa te-lo novamente na empresa ? E assim vai, vários cenarios possiveis e o seu sistema tem que cobri-los eficientemente. Ao inibir a exclusão definitiva do registro, além de ter novas possibilidades de trabalhar esses registros, permite também que crie o sistema de registro sugerido. Note que os campos de id são auto-incrementos então se apagar o campo cujo id é 09, o campo de id 10 não regridirá para 09 assim como o novo registro não será feito no 09 e depois prosseguirá para o 11. Na questão 2, bastará fazer uma rotina que ao logar no painel admnistrativo, execute uma função que realize a verificação das datas. Como provavelmente logarão todos os dias, o banco de dados estará sempre atualizado. @Edit: ou seja adiciono o primeiro imovel ao agente 1001 da agencia 101 (1,101,1001) Se for buscar o resultado por aqui ao mostrar ficaria 101-1001-1 Agora se adicionar o segundo imóvel para o agente 1002 da agencia 101 (2,101,1002) Ao mostrar ficaria 101-1002-2 Não importa qual a numeração do imovel, quando quiser a listagem de imoveis do agente xyz, execute um select com where agente="xyz" será retornado todos os imoveis que esse agente cadastrou, com isso basta fazer um count e você terá o numero de imoveis desse agente. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 19, 2012 1. ID da Agência - ID do Agente - ID do Imóvel Se o usuário quer saber por exemplo quantos imóveis tem para uma agência X e um Agente Y , não bastaria somente fazer consulta relacionadas? exemplo: SELECT COUNT( T1.id ) AS total FROM agencia As T1 RIGHT JOIN agente AS T2 ON T2.agencia_id = T1.id RIGHT JOIN imovel AS T3 ON T3.agente_id = T2.id 2. select dentro de um intervalo de tempo.. WHERE campo_data >= DATE_SUB( NOW(), INTERVAL 60 DAY ) http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add 3. gerar pdf tcpdf http://www.tcpdf.org fpdf http://www.fpdf.org ezpdf: http://www.ros.co.nz/pdf/ Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 19, 2012 Sim tem vários níveis de hierárquia. E também tenho esse campo de status ativo, vendido e indisponível. 1 - Mas não queria o count porque vai retornar o nr de imóveis do agente, quero é que na altura que registar um imóvel para aquele agente me retorne o "id_calculado" do nr de imovel que aquele agente já tem na sua posse. Não será mais ou menos por aqui, por exemplo: $lastid=mysql_query("SELECT id_calculado FROM Imoveis WHERE id_agente ='".$idagente."' ORDER BY id_calculado DESC LIMIT 1"); if(mysql_num_rows($lastid)) { $lastid = mysql_fetch_array($lastid); $newid = $lastid['id_calculado']+1; } else { $newid = 1; } mysql_insert(...); ??? 2 - Quanto à data já estou a fazer na query o que o hinom mencionou: WHERE campo_data >= DATE_SUB( NOW(), INTERVAL 60 DAY ) AND status = 1; Eu não apago o imóvel, só não ficaria visivel no site, porque agora queria que ao 61 dia me colocasse o imóvel "de maneira automática" o status como indisponível. Como faço isso? No UPDATE é que tenho também de verificar se for ao 61 dia e se não houver actualização ao status então actualizar para indisponível, correcto? É necessário cronjobs no servidor ou basta na query? Podia-me exemplificar? Obrigado pela força! Compartilhar este post Link para o post Compartilhar em outros sites
JoaoGusmao 2 Denunciar post Postado Abril 19, 2012 3. Minha preferência seria cronjobs Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 19, 2012 Estou a dar em doido com isto :S Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 19, 2012 #11 1. registar um imóvel para aquele agente me retorne o "id_calculado" do nr de imovel que aquele agente já tem na sua posse. certo, mas qual a finalidade disso ? 2. para usar uma flag que identifique o status de visível (dentro de 60 dias), o ideal seria rodar um script em background.. algo assim UPDATE tabela SET status = 2 WHERE campo_data >= DATE_SUB( NOW(), INTERVAL 60 DAY ) coloque para executar diariamente apenas uma vez é suficiente.; na hora de exibir, basta fazer SELECT .... tabela ... WHERE status = 2 no momento do select não precisa usar a instrução "campo_data >= DATE_SUB( NOW(), INTERVAL 60 DAY )" porque o filtro já foi feito... está indicado pela flag "status" há diversos outros meios, por exemplo, pode usar uma view.. mas recomendo desse modo levantando uma flag por questões de performance e redução de redundâncias. off obs: hierárquia é uma oxítona... :seta: hierarquia Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 19, 2012 1 - A finalidade é que repara: Tenho uma ordem seguida dos números de imóveis daquele agentes específico. Imagina tenho a referência do imovel 101-1001-50 e se amanhã o imovel passa para outro agente 1002: Tem que ficar 101-1002-[Nr_Recente_Do_Imovel_na_sua_posse], se ele tinha 101-1002-14, Quando fosse a passar para esse agente ficaria 101-1002-15! 2 - No UPDATE tenho: <?php //Verifica se os dados estao vindos do formulario if (isset($_POST['button']) && $_POST['button'] == "Actualizar"){ $id = (int)$_GET['id']; $tipologia = mysql_real_escape_string(strip_tags($_POST['tipologia'])); $quartos = mysql_real_escape_string(strip_tags($_POST['quartos'])); $estado = mysql_real_escape_string(strip_tags($_POST['estado'])); $area_util = mysql_real_escape_string(strip_tags($_POST['area_util'])); $area_bruta = mysql_real_escape_string(strip_tags($_POST['area_bruta'])); $area_terreno = mysql_real_escape_string(strip_tags($_POST['area_terreno'])); $preco = mysql_real_escape_string(strip_tags($_POST['montante'])); $morada = strip_tags($_POST['morada']); $codpostal = mysql_real_escape_string(strip_tags($_POST['codpostal'])); $codpostal_ind = mysql_real_escape_string(strip_tags($_POST['codpostal_ind'])); $localidade = mysql_real_escape_string(strip_tags($_POST['localidade'])); $mini_descricao = mysql_real_escape_string(strip_tags($_POST['mini_descricao'])); $descricao = mysql_real_escape_string(strip_tags($_POST['descricao'])); $agencia = mysql_real_escape_string(strip_tags($_POST['agencia'])); $data = mysql_real_escape_string(strip_tags($_POST['data'])); $status = mysql_real_escape_string(strip_tags($_POST['status'])); //o ID esta a ser passado por hidden $query = "UPDATE imoveis SET tipologia = '$tipologia', id_quarto = '$quartos', id_estado = '$estado', area_util = '$area_util', area_bruta = '$area_bruta', area_terreno = '$area_terreno', montante = '$preco', morada = '$morada', codpostal = '$codpostal', codpostal_ind = '$codpostal_ind', localidade = '$localidade', mini_descricao = '$mini_descricao', descricao = '$descricao', id_agencia = '$agencia', data = '$data', status = '$status' "; $query .= " WHERE id = '$id'"; $sql = mysql_query($query); //echo $query; echo "Os dados do imóvel com a referência n.º '".$id."' foram alterados com sucesso!"; }else{ echo "Não foi possível alterar os dados do imóvel com a referência n.º '".$id."'"; } ?> Onde aplicaria esse script em background? Porque eu tenho no update status = '$status', ou seja independentemente do estado aqui actualiza o valor na BD. Tenho que fazer um if para incluir o WHERE campo_data >= DATE_SUB( NOW(), INTERVAL 60 DAY ) ? No visualizar no site tenho somente SELECT * FROM imoveis WHERE status = 1" como referiu para indicar os imóveis activos. 1 - Activo 2 - Indisponível 3 - Vendido Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 19, 2012 1. ainda acho sem sabimento esse tipo de lógica.. o seu modelo de negócios não sou em quem decide, mas eu não faria dessa forma.. iso que está fazendo se resolve com count e referências 2. sabe como executar o php em linha de comando? sabe o que é crontab/cronjob, schtasks ? 3. está ok Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Ianni 189 Denunciar post Postado Abril 19, 2012 Concordo com o hinon na questão 1, acho que você precisa modelar o banco de dados / sistema com todos os requisitos (inclusive os atuais) pois pelo que estou acompanhando, faltou uma modelagem ou planejamento de como fazer isso de forma fácil e eficiente. Essa questão de agente a ter x imoveis e nessa carteira ter n imoveis que passaram para o agente b, apos feita essa mudança, o count resolve isso, afinal se antes a contagem era de x e passou a ter x+n, o mesmo irá ocorrer para o agente a que tinha antes x e agora passa a ter x-n. Parece que você quer relacionar numa coluna essa quantidade, mas qual seria o uso dessa coluna ? Ela será exibida em algum tipo de relatorio ? se for, você poderia fazer o count e dentro de um laço de repetição ir colocando esses numeros, tendo assim a contagem para imprimir seja no papel, seja na tela. A questão 2, pode ser feita via crontab como já foi sugerida, embora alguns serviços de host não permitam isso, por isso faria um script que rodaria quando alguem com um certo nivel de acesso logar no sistema. Isso durante o processo de verificação por exemplo: Verifca se o usuário é valido e possui o acesso x, se tiver, verifica as datas no banco de dados e altera o status dos imoveis que estão acima do limite estabelecido. Pode ainda criar um cookie para verificar se essa tarefa já foi feita no dia, e por ai vai. Compartilhar este post Link para o post Compartilhar em outros sites
JoaoGusmao 2 Denunciar post Postado Abril 19, 2012 você usa cpanel? Se for, é moleza fazer o cronjobs :P Sobre o restante das dúvidas, eu fiquei perdido :/ Compartilhar este post Link para o post Compartilhar em outros sites
Eduardo Villa 2 Denunciar post Postado Abril 19, 2012 AndreLC90, Vou dar minha opinião referente ao sistema de imóveis que estou desenvolvendo. 1ª)Tenho 3 tabela (INNER JOIN): - imoveis (id_imovel, id_corretor e id_imobiliaria) - corretores (id) - imobiliaria (id) Quando busco por está referência 100.1000.10 desmembro os dados pois utilizo separadamente para outras coisas list($imovel, $corretor, $imobiliaria) = explode('.', $referencia); 2ª)Como o hinom disse você pode agenda uma tarefas com o crontab 3ª)Quanto ao PDF acredito que seria mais fácil gerar automático, pois a cada alteração seria necessário gerar um novo e atualizar o PDF já armazenado no banco... Não lembrava da biblioteca FPDF, vou verificar. Compartilhar este post Link para o post Compartilhar em outros sites
AndreLC90 0 Denunciar post Postado Abril 19, 2012 1 - Mais um exemplo do que se pretende: id(imovel), id_agencia, id_agente, novo_campo_para_calculo 1, 1001, 100, 1 2, 1002, 100, 1 3, 1001, 100, 2 4, 1001, 100, 3 5, 1001, 100, 4 6, 1002, 100, 2 7, 1001, 100, 5 Se apagar o registo 5, o registo 7 mantinha no campo_calculado o 5 à mesma. Mas, se atribuir o registo 5 ao Agente 1002 no campo calculado ficaria 3 (5, 1002, 100, 3). É esta a minha dificuldade! 2 - Uso o Plesk, já verifiquei que tem lá a opção. O update prentendia era que ao 61 dia se colocasse "automaticamente" o estado = 2 que corresponde a Indisponível! Que script colocaria em cron task? O que tem a query? 3 - Sim, era gerar "automático" que pudesse imprimir a ficha do imovel sempre que se quissesse, como faço isso? Obrigado a todos pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites