Jump to content


boirock's Content

There have been 100 items by boirock (Search limited from 27/04/2023)



Ordernar por                Order  

#956191 Deletar Registro Se Nao For Dado Update

Posted by boirock on 31/01/2009, 10:17 in PHP

K-gome... é possível fazer isso com uma tarefa de execução agendada no servidor.
Exemplo: você coloca um script para rodar, automaticamente, todo dia ao meio-dia. Esse script deleta todos os que não receeram UPDATE.

Porém, é meio feio fazer isso :P (embora as vezes seja a melhor opção mesmo).

Quanto a sua segunda pergunta: isso dava pra resolver com o uso de SEQUENCEs. O ruim é que o MySQL não implementa SEQUENCEs reais... mas dá pra fazer uma xunxeira com tabelas quee parece que quebra o galho.

Existem outras saídas como guardar os dados em sessões, tabelas temporárias, etc. Tudo depende do uso.
Pq vc precisa do id antes do envio dos dados?



#956188 Dúvida Simples - Zend Framework

Posted by boirock on 31/01/2009, 10:08 in Frameworks e Software relacionado a PHP

Como está o seu .htaccess?



#954539 Iniciar Download Automáticamente

Posted by boirock on 21/01/2009, 23:11 in Apache

:ponder: pensando aqui com meus botões... acho que com uma dose de AJAX até seria possível e bem divertido de fazer...
Porém, como frisado por todos, não faria sentido baixar o arquivo para o servidor e depois ter que baixar do servidor de novo :D.
Só se o servidor rodasse em localhost para o cliente.



#954320 Erro Funcao Trigger (pgsql)

Posted by boirock on 20/01/2009, 17:09 in PostgreSQL

Tenta SELECT * FROM SINTE_EST01_SQL(...)



#954319 Problema Com Location

Posted by boirock on 20/01/2009, 17:02 in PHP

Se conheço os caras que tentaram te ajudar, todos eles sabem fazer isso. Você é que não os compreendeu :)

JS não é a dúvida. JS é a solução e ela foi dada pelo chipis na segunda resposta.
Você testou? Qual o problema dela?

Não tem exatamente a ver com server-side/client-side... como você bem disse, o location é setado no cabeçalho (o que pode ser esperado de uma função chamada header :) ) e o seu javascript foi escrito no corpo.

Antes de escrever no corpo, o navegador já recebeu uma instrução para redirecionar o usuário.

Há mais de uma saída pra isso... mas se você deixar de escrever no cabeçalho e usar javascript, como o chipis exemplificou muito bem, vai funcionar como você deseja.

Certo? (y)



#954311 Site No Ie Não Funciona Só No Firefox

Posted by boirock on 20/01/2009, 16:43 in PHP

form dentro de outro form?



#954060 Inserir Dados No Bd Através De Um Arquivo Texto

Posted by boirock on 19/01/2009, 07:43 in PHP

LOAD DATA sugerido pelo Eclesiastes é várias vezes mais rápido e eficiente do que fazer por funções do PHP.



#953123 Banco De Dados Em Arquivo .txt

Posted by boirock on 12/01/2009, 08:07 in Teoria em Banco de Dados

Então... existem dois caminhos:
O primeiro e mais comum seria usar as funções do php para sistema de arquivo, com ênfase especial em file_get_contents(), file_put_contents() e file().

Porém, como você pretende passar pra MySQL seria legal utilizar ODBC.



#953122 (resolvido) Quebra De Linha Ao Escrever Arquivo?

Posted by boirock on 12/01/2009, 07:58 in PHP

Só pra ficar registrada uma solução: se trocar aspas simples por aspas duplas, funciona.



#952960 Duas Tabelas Na Consulta

Posted by boirock on 09/01/2009, 22:53 in PHP

Aplicar ALIAS em uma tabela tem outras utilidades :)
Em determinados casos você pode querer usar determinada tabela mais de uma vez em um mesmo SELECT, diferenciando as condições.

Aliás, essa é a única situação em que eu uso ALIAS, porque os apelidos deixam a query mais curta mas também deixam o código muito mais difícil de dar manutenção depois! Principalmente em equipe...



#952959 Conflito Com A Nova Versão Do Php

Posted by boirock on 09/01/2009, 22:46 in PHP

Fica difícil sem pelo menos saber quais era as versões :P
se era de 4.x pra 5.x, esse link http://www.php.net/m....migration5.php pode te ajudar



#952825 Invasão Em Sites Feitos Em Php

Posted by boirock on 09/01/2009, 00:07 in PHP

mysql_escape_string() é deprecated. Ao invés dele, usa-se mysql_real_escape_string()...

A diferença para addslashes() é mínima... mas mysql_real_escape_string() tem a vantagem de trabalhar com uma conexão mySQL aberta e levar em consideração o charset :)



#952761 Variáveis De Ambiente

Posted by boirock on 08/01/2009, 14:23 in PHP

<pre>

<?php

echo "Variáveis SERVER:<br><blockquote>";

print_r($_SERVER);

echo "</blockquote>";

?>

</pre>



#952617 Sessao Expira Ao Mudar De Diretorio No Servidor

Posted by boirock on 07/01/2009, 13:39 in PHP

Não faz muito sentido... dá pra postar o código?
Pode ser só o começo... (não adianta postar tudo mesmo ;) )



#952614 Soma Em Sql Com Filtro

Posted by boirock on 07/01/2009, 13:31 in MySQL

Não tenho certeza se vai funcionar no MySQL... mas não custa tentar :)
Dê o GROUP BY por substring(campo,X,Y) ao invés do campo todo



#952550 .dll's

Posted by boirock on 07/01/2009, 08:00 in Teoria de Programação

Tem os shared objects, que são os .so
Não é exatamente a mesma coisa... mas digamos que seja parecido.



#952481 Dúvida Com Sql + Php

Posted by boirock on 06/01/2009, 16:26 in PHP

Crab... será que não rola se você usar a coluna ip no GROUPY BY ao invés de DISTINCT?
Acontece que no MySQL o DISTINCT é meio limitadão mesmo, né? =/
Algo tipo:
SELECT referer, ip, DATE_FORMAT(data, '%d/%m/%Y - %H:%s') as dataBR
FROM tabela WHERE referer <> ''
GROUP BY data,ip
DESC



#952428 Manual Do Php

Posted by boirock on 06/01/2009, 11:11 in PHP

O PHP tem :)
http://www.php.net/download-docs.php
Espero que seja o que você procura...
[]s



#952236 Vídeos Mais Vistos Da Semana

Posted by boirock on 04/01/2009, 23:47 in PHP

Então velhinho... a tua sintaxe de REPLACE não me pareceu errada.
O problema é que REPLACE não se comporta da maneira que você espera e não deve servir...

Segundo descrito no próprio manual do MySQL, o REPLACE age da seguinte maneira:

1 - Tenta inserir o registro
2 - Caso ocorra um erro de duplicidade..
2.1 - Deleta a linha antiga
2.2 - Insere a mesma linha com os valores novos

Ou seja, você não vai conseguir acessar o valor antigo da coluna para poder usar a expressão nomedacoluna + 1...
Se fizer isso ele vai pegar o valor default dessa coluna e acescentar 1 :(

Daí se for fazer SELECT já perde a razão de ser REPLACE... é melhor fazer um tratamento no PHP.

A minha sugestão é criar uma STORED PROCEDURE que substitua o SELECT que vocÊ aplica na exibição dos dados...
Essa procedure deveria fazer todo esse trabalho de acrescentar na tabela de visualização semanal e, finalmente, retornar os dados que o seu SELECT já retorna.

Outra sugestão seria criar uma tabela de visualizações e simplesmente ir adicionando nela com INSERT...
Daí vocÊ faz a totalização usando GROUP BY pela data de visualização...
Se o problema for medo do tamanho dessa tabela, pode-se criar uma tabela totalizadora, preenchida por um script executado periodicamente e automaticamente (cronjobs ou agendador de tarefas do windows) que limpe os registros antigos e jogue o seu total nessa tabela totalizadora.

Bem... espero ter ajudado (y) :)



#951786 Como Deixar O Site Off?

Posted by boirock on 30/12/2008, 09:25 in Dúvidas Gerais

Não :ponder: olha só

RewriteEngine on
RewriteRule $ nomedoscript.php

Se você deixar o htacces assim, vai redirecionar par nomedoscript.php mesmo que o cara digite http://www.servidor/bozo.xpto

Era isso?



#951775 Como Deixar O Site Off?

Posted by boirock on 30/12/2008, 08:13 in Dúvidas Gerais

Isso vai depender muito da maneira como você está trabalhando...
Mas acho que um jeito bem eficiente e que serve pra todos os casos é trabalhar com o .htaccess, ativando mod_rewrite e redirecionando sempre pra mesma página.

Vai funcionar mesmo que o cara acesse um endereço direto.



#951739 Dúvida Na Estruturação

Posted by boirock on 29/12/2008, 16:48 in PHP

Acontece que nesta inserção, eu tenho que passar o ID do registro da ninhada (autonumeração). Mas uma vez que o formulário das ninhadas ainda não foi submetido, como fazer para pegar o ID que será gerado quando ele for enviado? Fazer um Select simples no meu BD MySQL, para capturar o último ID e somar com 1, é a melhor opção ou é meio POG?

O problema é que isso acaba com o conceito de aplicação multi-usuário!
Se dois usuários começarem a incluir meio que simultaneamente, vai dar creps quando o segundo for confirmar.

A solução simples para isso seria usar SEQUENCEs, mas o MySQL não dá suporte nativo a elas :unsure: dá pra fazer uma gambi que simula, se interessar...



#951725 Receber Faturas

Posted by boirock on 29/12/2008, 14:22 in PHP

Hm... dá pra entender mais ou menos :P
Como esta a modelagem de dados pra essas entidades?



#951637 Dá Para Aprender Php Em Tutoriais Pela Internet?

Posted by boirock on 27/12/2008, 19:47 in PHP

Sim, claro. :)
A maioria aqui do fórum é "filho" de tutoriais e apostilas! hehehe

Aliás, essa é a grande vantagem e, ao mesmo tempo, o grande problema do PHP!
É uma linguagem muito fácil de aprender...
Qualquer um que seja um pouquinho dedicado pode construir sites dinâmicos em pouco tempo!

O ruim é que muitos programadores ficam só no mais simples para todo o sempre e criam aplicações de baixa qualidade. Não utilizam e nem se interessam pelos recursos mais fortes da linguagem... por isso a linguagem, algumas vezes, fica com má fama.

Você vai conseguir facilmente fazer cadastros e essas paradas mais comuns... mas além das apostilas e tutoriais, faça do manual do phpseu melhor amigo e a sua evolução dentro da linguagem acontecerá natualmente ;)



#951636 Problema Com Mysql_fetch_assoc

Posted by boirock on 27/12/2008, 19:32 in PHP

Não é por aí! Não precisa mostrar primeira linha nem nada... dá pra fazer funcionar com o código correto, sem xunxos :)

Veja no seu primeiro código que você dá um mysql_fetch_assoc() antes de entrar no loop... esse é o problema! Vejamos o que diz o manual do php sobre essa função:

Retorna uma matriz associativa que corresponde a linha obtida e move o ponteiro interno dos dados adiante

Ou seja, quando você entra no loop, já moveu o ponteiro pra segunda linha.

Retire essa linha e tudo funcionará :)(y)




IPB Skin By Virteq