terça-feira, 7 de dezembro de 2010

JavaScript Marcar Desmacar Todas

Script mais básico:
<script>
function selecionar_tudo(){
for (i=0;i<document.procurado.elements.length;i++)
if(document.procurado.elements[i].type == "checkbox")
document.procurado.elements[i].checked=1
}


function deselecionar_tudo(){
for (i=0;i<document.procurado.elements.length;i++)
if(document.procurado.elements[i].type == "checkbox")
document.procurado.elements[i].checked=0
}
</script>

No HTML:
<input type=button onclick='selecionar_tudo()' value='Marcar' class=preto />
<input type=button onclick='deselecionar_tudo()' value='Desmarcar' class=preto />

Lembrar que "procurado" é o "name" do form...

Script mais complexo:
Colocar este script no topo da sua webpage:

<script>
function Marcar(quem,valor,j) {
for (i=1; i<=j; i++) {
p = quem+i;
document.getElementsByName(p)[valor].checked = true;
}
}
function DesMarcar(quem,valor,j) {
for (i=1; i<=j; i++) {
p = quem+i;
document.getElementsByName(p)[valor].checked = false;
}
}
</script>

O HTML deve ser:
<input type=checkbox name=id1 value=1 /> Papel
<input type=checkbox name=id2 value=2 /> Fruta
<input type=checkbox name=id3 value=3 /> Paisagem

<input type=radio name='mma_info' value=1 onclick=Marcar('id',0,3); /> SIM (Repetir a mesma informação para todos)
ou Não <input type=radio name='mma_info' value=0 onclick=DesMarcar('id',0,3); />

O funcionamento do onclick:
id == nome do campo
0 == posição (no caso de checkbox sempre 0)
3 == quantidade de campos

terça-feira, 19 de outubro de 2010

ASP - Formulario q funciona com Flash

<%
Option Explicit

Response.Expires = 0

Dim Email, xEmail

Set Email=Server.Createobject("CDONTS.NewMail")
Email.From=Request.Form("email")
Email.To="seu@email.com.br"
Email.Subject= "Contato - Site"

xEmail = chr(10) & "Nome - " & Request.Form("nome") & CHR(13) & CHR(10)
xEmail = xEmail & "Endereço - " & Request.Form("endereco") & CHR(13) & CHR(10)
xEmail = xEmail & "Cidade - " & Request.Form("cidade") & CHR(13) & CHR(10)
xEmail = xEmail & "Estado - " & Request.Form("estado") & CHR(13) & CHR(10)
xEmail = xEmail & "E-mail - " & Request.Form("email") & CHR(13) & CHR(10)
xEmail = xEmail & "Fone - " & Request.Form("ddd") & Request.Form("fone") & CHR(13) & CHR(10)
xEmail = xEmail & "Info - " & Request.Form("info") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto standard - " & Request.Form("standard") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto superior - " & Request.Form("superior") & CHR(13) & CHR(10)
xEmail = xEmail & "Apto master - " & Request.Form("master") & CHR(13) & CHR(10)
xEmail = xEmail & "Adultos - " & Request.Form("adultos") & CHR(13) & CHR(10)
xEmail = xEmail & "Crianças - " & Request.Form("criancas") & CHR(13) & CHR(10)
xEmail = xEmail & "Entrada - " & Request.Form("entrada") & CHR(13) & CHR(10)
xEmail = xEmail & "Saída - " & Request.Form("saida") & CHR(13) & CHR(10)

Email.Body = xEmail

Email.Send

Set Email=Nothing

Response.Redirect "pagina_de_agradecimento.htm"

%>

segunda-feira, 20 de setembro de 2010

VirtualBox e Ubuntu compartilhar pasta

Para compartilhar ou "montar" uma pasta compartilhada no Ubuntu basta dar o seguinte comando (como root):

mount -t vboxsf NOME_DA_PASTA_COMPARTILHADA NOME_DA_PASTA_NO_UBUNTU

quinta-feira, 2 de setembro de 2010

Microsoft muda alinhamento da tabela de left para center

A Microsoft mudou sem avisar ninguém o alinhamento automático das td de left para center, no IE8, ou seja quem nunca precisou declarar align=left por ser padrão agora precisa declarar, um absurdo, pois todos os outros browsers continuam como padrão left.

Mais uma vez a Microsoft atrapalhando a vida dos programadores.

quinta-feira, 24 de junho de 2010

MySQL Duplicidade - Achar e Apagar - Duplicated data - find and erase



Para achar quantos itens estão duplicados em uma coluna MySQL:

SELECT CAMPO_DESEJADO, COUNT( * )
FROM TABELA_DESEJADA
GROUP BY CAMPO_DESEJADO
HAVING COUNT( * ) >1


Para apagar os dados que estão em duplicidade, escolha um campo chave, no meu caso é o campo email:

ALTER IGNORE TABLE `tabela_desejada` ADD UNIQUE INDEX(email)

Lembre-se que depois desse comando o campo e-mail não vai mais permitir cadastros em duplicidade

quinta-feira, 29 de abril de 2010

SSH



Quando der um pau de louco no SSH e vc obter esta resposta:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.


Faça o seguinte no shell de sua maquina:
ssh-keygen -R NUMERO_DO_SEU_IP

O comando acima zera as chaves SSH para o IP informado.

segunda-feira, 5 de abril de 2010

Ubuntu Arquivo no boot





Editar /etc/init.d/rc.local e colocar os comandos lá



sexta-feira, 26 de março de 2010

MySQL - Exportar apenas uma tabela



mysqldump --default-character-set=latin1 banco1 tabela1 > backup-tabela1.sql

quarta-feira, 24 de março de 2010

Javascript e PHP - Botão Bold, Italico,Underline, e-mail e Http

Sei o que muitos vão dizer, pq não usar o WYSYS? Resposta simples, pq ele altera todo o padrão CSS ja pré-definido da pagina.

Para tirar o efeito por exemplo <b>laweb</b> vc deve selecionar desde <b até </b> e depois clicar no botão "Tirar Efeito".

Para poder usar o mesmo script em várias paginas eu dividi ele da seguinte maneira:

Script para usar em sua pagina PHP
<?php
$Nome_do_Campo = "agenda";
include_once("biu.php");
?>
<textarea cols="80" rows="10" name="agenda" class="preto" ></textarea>

Arquivo biu.php
<script type="text/javascript">
<!--
function formatText (el,tag) {
var selectedText=document.selection?document.selection.createRange().text:el.value.substring(el.selectionStart,el.selectionEnd);// IE:Moz
if (tag !='e' || tag !='h') var newText='<'+tag+'>'+selectedText+'</'+tag+'>';
if (tag=='e') var newText='<a href="mailto:'+selectedText+'">'+selectedText+'</a>';
if (tag=='h') var newText='<a href="http://'+selectedText+'" target=_blank>'+selectedText+'</a>';
if(document.selection){//IE
document.selection.createRange().text=newText;
}
else{//Moz
el.value=el.value.substring(0,el.selectionStart)+newText+el.value.substring(el.selectionEnd,el.value.length);
}

}

function formatText_tira (el) {
var selectedText=document.selection?document.selection.createRange().text:el.value.substring(el.selectionStart,el.selectionEnd);// IE:Moz
var newText=selectedText;
var oldText=selectedText;
for (i=1;i<=5;i++) { if (i==1) tag='b'; if (i==2) tag='i'; if (i==3) tag='u'; if (i<=3) { var tagX='<'+tag+'>';
var tagY='</'+tag+'>';
newText = newText.replace(tagX,'');
newText = newText.replace(tagY,'');
}
if (i==4) {
var tagJ=newText.split('<',1); if (!tagJ[0]) { var tagX=newText.split('>',2);
var tagY='</a';
newText = newText.replace(newText,tagX[1]);
newText = newText.replace(tagY,'');
}
}
if (i==5) {
var tagJ=newText.split('<',1); if (!tagJ[0]) { var tagX=newText.split('>',2);
var tagY='</a';
newText = newText.replace(newText,tagX[0]);
newText = newText.replace(tagY,'');
}
}
}
if (newText=="undefined") nextText=oldText;
if(document.selection){//IE
document.selection.createRange().text=newText;
}
else{//Moz
el.value=el.value.substring(0,el.selectionStart)+newText+el.value.substring(el.selectionEnd,el.value.length);
}

}
//-->
</script>

<style>
.button {
font-family:Tahoma, Verdana, Arial;
color: #000066;
font-size:12px;
font-weight:bold;
text-align:center;
background: #f5f5f5;
}
.button_tirar {
font-family:Tahoma, Verdana, Arial;
color: #CC0000;
font-size:12px;
font-weight:bold;
text-align:center;
background: #f5f5f5;
}
</style>

<table cellspacing=0 cellpadding=0><tr>
<td><input type="button" value="N" onclick="formatText (<?=$Nome_do_Campo?>,'b');" class=button /></td>
<td><input type="button" value="I" onclick="formatText (<?=$Nome_do_Campo?>,'i');" class=button /></td>
<td><input type="button" value="S" onclick="formatText (<?=$Nome_do_Campo?>,'u');" class=button /></td>
<td><input type="button" value="e-mail" onclick="formatText (<?=$Nome_do_Campo?>,'e');" class=button /></td>
<td><input type="button" value="link" onclick="formatText (<?=$Nome_do_Campo?>,'h');" class=button /></td>
<td><input type="button" value="Tirar Efeito" onclick="formatText_tira (<?=$Nome_do_Campo?>);" class=button_tirar /></td>
</tr></table>

segunda-feira, 25 de janeiro de 2010

Ubuntu Versão

cat /etc/lsb-release

e também:
cat /etc/issue.net; uname -ar

sexta-feira, 22 de janeiro de 2010

Oracle - Ubuntu 8.04 - PHP - Instalação


artigo original em ingles por John Wendell


Além de instalar o oracle-xe-universal_10.2.0.1-1.0_i386.deb siga os passos abaixo para completar a instalação.


Instale alguns pacotes necessários:

sudo apt-get install php-pear php5-dev libaio1 build-essential


Download o Oracle Instant Client:

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html


Pacotes necessários:

* Basic client
* SDK
* SQL Plus (Optional)

Unzip todos os downloads em /opt/instantclient


Execute os comandos abaixo:

cd /opt/instantclient
sudo ln -s libclntsh.so.11.1 libclntsh.so
sudo ln -s libocci.so.11.1 libocci.so
sudo sh -c echo "/opt/instantclient" > /etc/ld.so.conf.d/oracle.conf
sudo ldconfig


Instalando o modulo OCI8:

sudo pecl install oci8


Quando questionado por Oracle PATH, tecle nessa ordem:

all <enter>
instantclient,/opt/instantclient <enter>
<enter>


Coloque a extensão no PHP.ini:

sudo sh -c echo "extension=oci8.so" > /etc/php5/conf.d/oracle.ini


Restarte seu apache:

sudo /etc/init.d/apache2 restart


Cheque com phpinfo() se o modulo OCI8 esta lá.

sexta-feira, 15 de janeiro de 2010

MySQL - Pesquisa automática por data - de 3 meses atrás até 1 dia atrás


OBS: Esta pesquisa esta limitada a 5 resultados (limit 5) e esta setada para trazer os resultados aleatóreamente.


select SEUS_CAMPOS from SUA_TABELA where (campo_data<SUBDATE(Now(), INTERVAL 1 DAY) and campo_data>SUBDATE(Now(), INTERVAL 91 DAY)) ORDER BY RAND() limit 5