Spoiler Hide – JQuery
31/03/11
Script para esconder a tag [spoiler] utilizada para comentários utilizando JQuery.
Por exemplo, em um comentário de filme:
<div id="comentario"> Este filme foi baseado em fatos reais. Reparem que a cena [spoiler] onde os estudantes estão sentados[/spoiler] apareceu ontem no jornal. <div/>
Você utiliza o script da seguinte forma:
<script> $(document).ready(function(){ $("#comentario").spoiler(); }); </script>
e terá o resultado com um link:
Este filme foi baseado em fatos reais. Reparem que a cena spoiler apareceu ontem no jornal.
Segue abaixo o código do script:
/* Spoiler v0.1 - Hide spoiler tags * * Using $(element).spoiler(); * * * * Copyright (c) 2011 Enio Ribeiro - damutuca@gmail.com * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php * * */ (function($) { $.fn.spoiler = function(options) { var obj = $(this); if(obj.html().match(/\[spoiler\]/ig)){ var text; text = obj.html().replace(/\[spoiler\]/ig, '<blockquote class="spoiler">').replace(/\[\/spoiler\]/ig, '</blockquote>'); obj.html(text); } obj.each(function(){ $('.spoiler').each(function(){ $(this).after($('<a href="javascript:void(0)">spoiler</a>').click(function(){ $(this).hide().prev().fadeIn(2500); })); }); }); }; })(jQuery);
Mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.
“mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file”
Esse erro apareceu ao configurar a nova versão do PHP com uma versão mais antiga do MySQL. Isso acontece pois o driver mysqlnd usado pela versão do PHP não aceita o sistema de OLD_PASSWORD.
Para resolver este erro, entre no modo console do MySQL:
mysql -u root -p senha_do_root
e digite:
SET PASSWORD = PASSWORD(‘senha_do_root’);
Isso deverá resolver o problema.
Contador de Visitas
11/11/10
Esta é uma classe que adiciona um simples contador em sua página.
/** * Incluo a classe **/ require "EasyHitCounter.Class.php"; // Aqui instancio a classe $contador = new EasyHitCounter(); // E mostro a quantidade de visitas echo $contador->getCount(); // ou echo $contador->getCountFormated();
Para fazer o download da classe entre no site PHPClasses no seguinte link:
http://www.phpclasses.org/package/6582-PHP-Keep-track-of-site-visitor-count-by-IP-address.html
Irei migrar todas as classes para o PHPClasses por questões de controle de versões.
Classe de conexão MySQL v1.1
Versão 1.0
Versão 1.1
Diferenças de versões:
| v1.0 | v1.1 |
| Nomenclatura da classe : MySQL | Nomenclatura da classe: EasyMySQL |
| Aceitava AND ou || scripts | Aceita AND, &&, OR ou || |
| Retorna a quantidade de registros function numRows() |
|
| Adicionado o Método UPDATE |
Download:
EasyMySQL.tar.gz
Os exemplos abaixo foram alterados para a nova versão.
————————————————————————————————–
Esta é uma simples classe para inserção, leitura e exclusão de dados MySQL.
Abaixo um pequeno exemplo de como usar a classe.
Primeiro instânciamos a classe, você pode definir os parâmetros do banco-de-dados, como:
senha, usuário e schema direto na classe ou quando for instanciar por exemplo: $mysql = new EasyMysql(‘localhost’, ‘root’, ’123456′, ‘teste’);
$mysql = new EasyMySQL();
Aqui criamos um select.
$where = array('nome LIKE ? ||'=>$mysql->escape('%zé%'), 'nome LIKE ? '=>$mysql->escape('%mané%') ); $mysql->select('contato', 'nome,endereco', $where);
Este método aceita os parâmetros: $table, $campos, $where, $orderBy, $order e $limit.
- $table { ‘teste’ };
- $campos { você pode usar o * para representar todos os campos ou separar os campos por vírgula (nome, telefone, endereco, etc) };
- $where { você pode usar um WHERE simples no formato: ‘nome LIKE “zé” OR nome LIKE “mané” ‘
ou usar arrays do tipo:
array(‘ || nome like ?’=>’zé’, ‘OR nome like ?’, ‘nome like ?’=> ‘mané’).
obs.: Para representar o AND não é preciso inserir nenhum símbolo.
}; - $orderby { esta é a ordem que deve ser listados os dados, por exemplo por nome };
- $order { a ordem ascendente ou descendente, pode ser representado por ASC|DESC ou 0|1}
- $limit { este é o limite da listagem. Você pode definir o início e fim separados por vírgula. Por exemplo 0,10}
O método fetchOne, seleciona panenas um contato
$row = $mysql->fetchOne(); echo $row->nome;
O método fetchAll, seleciona mais de um contatos
$rows = $mysql->fetchAll(); foreach($rows as $row){ echo $row->nome; }
Este médtodo, getQuery, retorna a última query que você criou
echo $mysql->getQuery();
Aqui criamos um INSERT.
Este método aceita os parâmetros: $tabela e $campos
$table { ‘teste’ };
$fileds { estes campos são arrays usados do tipo ‘campos’ => ‘valor’ };
<span style="color: #993300;">$campos = array( 'nome'=>'enio', 'endereco'=>$mysql->escape("Rua Chico 'Bento"), 'numero'=>234 );</span> $mysql->insert('contato', $fields); <span style="color: #993300;">echo $mysql->getQuery();</span>
Este é um DELETE com um WHERE em formato de array.
Você também pode usar simplesmente a expressão ‘id -> 7′ no lugar do array.
O último parâmetro é o limite de campos que serão excluídos, o padrão é 1.
$where = array('id -> ?'=>7); <span style="color: #993300;">$mysql->delete('contato',$where, '5');</span> echo $mysql->getQuery();
Um UPDATE simples:
<span style="color: #993300;">$fields = array( 'nome'=>'Enio Ribeiro', 'endereco'=>$mysql->escape("Avenida Carlos Drummond de Andrade"), 'numero'=>100 );</span> $mysql->update('contato', $fields, 'id = 1')
Você também poderá usar array no Where do UPDATE.
A última função seria o retorno da quantidade de registros bastando chamar a função numRows() da seguinte maneira:
echo $mysql->numRows();
Como fazer um backup do seu MySQL
21/07/10
Para fazer o backup:
mysqldump -u root -p database > database.sql
Onde root é o nome do meu usuário;
database é o nome da minha base de dados;
database.sql o arquivo que será criado.
Para fazer o backup de uma tabela apenas:
mysqldump -u root -p database tabela > tabela.sql
Para restaurar um backup utilize da seguinte forma:
mysqldump -u root -p database < database.sql;
Basta apenas mudar o sinal > (out) para < (in).











