Páginas

quarta-feira, 24 de setembro de 2014

Comece MySQL Auto-Incremento em um número diferente de 1

Por padrão, o MySQL irá começar a auto incremento de 1 a cada nova entrada. Isto significa que a primeira entrada na base de dados é um 1, a segunda é a 2, e assim por diante. Ocasionalmente, pode ser útil para iniciar este número a outro valor. Poderia ser para números seqüenciais de produtos, números de identificação de cliente melhor disfarçado, ou qualquer número de outras razões programáticas. Muitos usuários regulares do MySQL não percebem isso, mas o MySQL tem um método simples de escolher o valor inicial de incremento automático para uma determinada tabela. Você pode ajustar o número para o que você gostaria de executar o seguinte SQL:

ALTER TABLE table AUTO_INCREMENT = 1000;

segunda-feira, 22 de setembro de 2014

Redireciona para outra páginas após algum tempo de inatividade.

Segue o código.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<script>
    $(document).ready(function () {
        var timeout;
        $(document).on("mousemove keydown click", function () {
            if (timeout) {
                clearTimeout(timeout);
            }

            timeout = setTimeout(function () {
                window.location = "screensaver.html";
            }, 3 * 60 * 1000);
        }).click();
    });
</script>

sexta-feira, 12 de setembro de 2014

CodeIgniter Active record class

Entre muitos outros, "classe Active Record" é um dos recursos mais populares e úteis do CodeIgniter. Ele reduz o esforço de desenvolvedores para criar e executar consultas SQL. Em vez de escrever a sintaxe de consulta, aqui nós temos que chamar funções com parâmetros sequencialmente próprio, que durante a execução, os resultados de uma consulta SQL de corpo inteiro e retornos correspondentes resultados de banco de dados. Esta é uma grande ajuda, como ao escrever-nos, por vezes, para consultas longa / complexos, temos que corrigir sintaxe SQL várias vezes antes de começá-lo funcional.

Usando a Calsse:

Usar essa classe de registro ativo em uma aplicação CodeIgniter é bastante fácil. Lembre-se, não para usar esta no controle ou seção view (nem mesmo na libraries / plugins / helpers também), pois esta, na verdade, pertence a model section (camada de acesso a dados). Aqui estão alguns exemplos de código PHP são dadas abaixo:

function get_result($id){  
    //For selecting one or more columns
    $this->db->select('title, content, date');
    //For determine one or more tables to select from
    $this->db->from('table1');
    //For joining with another table, table name as first argument and condition string as second argument
    $this->db->join('table2', 'comments.id = blogs.id');
    //assign where condition
    $this->db->where('id', $id);
    //function without any argument. It actually runs the query that was built on last few statements.
    $this->db->get();
    //returns result objects array
    return $query->result();
}

Outro exemplo:

$this->db->select('tableA.*', FALSE);
$this->db->select('tableB.name, tableB.id AS new_name', FALSE);
$this->db->from('tableA');
$this->db->join('tableB', 'tableA.name = tableB.name');
$query = $this->db->get();;
$results = $query->result_array();


Note-se que, em 'WHERE', você pode passar um array associativo como parâmetros também. Isso vai assumir um 'AND' operador em cada key-value (key = db nome da coluna, value = resultado a ser verificado em relação) e vai construir a consulta em conformidade. 

Inserção de dados também é bastante fácil como se segue:

$data = array(              
               'id' => "8",
               'title' => "test title");
$this->db->insert('table_name', $data);


Para mais informações de referência sobre exatamente quais funções são permitidos, o que parâmetros com detalhes Explicação com exemplo, visite a documentação oficial sobre ele.


Usando operação Union em active record class:

Embora não seja possível a utilização de "UNION" diretamente, mas ainda assim, podemos implementá-lo com o uso de classe de registro ativo. Veja como: 
Vamos assumir que estão se fundindo duas colunas diferentes em uma em uma tabela de banco de dados mesmo (Uma das possíveis razões pelas quais precisamos usar da União). Código deve ser algo como isto:

function get_merged_result($ids){                  
        $this->db->select("column");
        $this->db->distinct();
        $this->db->from("table_name");
        $this->db->where_in("id",$model_ids);
        $this->db->get();
        $query1 = $this->db->last_query();
         
        $this->db->select("column2 as column");
        $this->db->distinct();
        $this->db->from("table_name");
        $this->db->where_in("id",$model_ids);
         
        $this->db->get();
        $query2 $this->db->last_query();
        $query = $this->db->query($query1." UNION ".$query2);
         
        return $query->result();
    }

Aqui, o que estamos fazendo é simplesmente recebendo a ajuda do codeigniter classe registro ativo para preparar duas consultas diferentes e estamos construindo manualmente nossa consulta original. Isso é tudo. A função acima irá retornar os resultados corretos com a operação UNION desejado. 


fonte : http://codesamplez.com/database/codeigniter-activerecord